home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / gui / muib_asmgen11.lha / Include / libraries / mui_asmone.i < prev   
Encoding:
Text File  |  1995-01-30  |  68.7 KB  |  2,653 lines

  1. ****************************************************************************
  2. **
  3. ** MUI - MagicUserInterface V2.3
  4. ** (c) 1993-95 by Stefan Stuntz
  5. **
  6. ** Main Header File
  7. **
  8. *** Assembler modifications 05-Jan-95 by Stefan Sommerfeld.
  9. ** 
  10. **
  11. ****************************************************************************
  12. ** General Header File Information
  13. ****************************************************************************
  14. **
  15. ** All macro and structure definitions follow these rules:
  16. **
  17. ** Name                       Meaning
  18. **
  19. ** MUIC_<class>               Name of a class
  20. ** MUIM_<class>_<method>      Method
  21. ** MUIP_<class>_<method>      Methods parameter structure
  22. ** MUIV_<class>_<method>_<x>  Special method value
  23. ** MUIA_<class>_<attrib>      Attribute
  24. ** MUIV_<class>_<attrib>_<x>  Special attribute value
  25. ** MUIE_<error>               Error return code from MUI_Error()
  26. ** MUII_<name>                Standard MUI image
  27. ** MUII_<name>                Object type for MUI_MakeObject()
  28. **
  29. ** MUIA_... attribute definitions are followed by a comment
  30. ** consisting of the three possible letters I, S and G.
  31. ** I: it's possible to specify this attribute at object creation time.
  32. ** S: it's possible to change this attribute with SetAttrs().
  33. ** G: it's possible to get this attribute with GetAttr().
  34. **
  35. ** Items marked with "Custom Class" are for use in custom classes only!
  36. */
  37.  
  38.  
  39.  
  40. ;   IFND LIBRARIES_MUI_I
  41. ; LIBRARIES_MUI_I SET 1
  42.  
  43. ;  IFND EXEC_TYPES_I
  44. ;   INCLUDE "exec/types.i"
  45. ;   ENDC  ;EXEC_TYPES_I
  46.  
  47. ;   IFND INTUITION_CLASSES_I
  48. ;   INCLUDE "intuition/classes.i"
  49. ;   ENDC  ;INTUITION_CLASSES_I
  50.  
  51. ;   IFND INTUITION_SCREENS_I
  52. ;   INCLUDE "intuition/screens.i"
  53. ;   ENDC  ;INTUITION_SCREENS_I
  54.  
  55. ;   IFND UTILITY_HOOKS_I
  56. ;   INCLUDE "utility/hooks.i"
  57. ;   ENDC  ;UTILITY_HOOKS_I
  58.  
  59. ;   IFND LIBRARIES_ASL_I
  60. ;   INCLUDE "libraries/asl.i"
  61. ;   ENDC
  62.  
  63.  
  64. ****************************************************************************
  65. ** Library specification
  66. ****************************************************************************
  67.  
  68. MUIMASTER_NAME MACRO
  69.     dc.b    "muimaster.library",0
  70.     even
  71.     ENDM
  72. MUIMASTER_VMIN = 8
  73. CALLMUI  MACRO
  74.     move.l    _MUIMasterBase,a6
  75.     jsr    _LVO\1(a6)
  76.     ENDM
  77. NULL     =      0
  78. TRUE     =      1
  79. FALSE    =      NULL
  80.  
  81.  
  82. ***************************************************************************
  83. ** Object Types for MUI_MakeObject()
  84. ***************************************************************************
  85.  
  86. MUIO_Label        = 1    * STRPTR label, ULONG flags 
  87. MUIO_Button        = 2    * STRPTR label 
  88. MUIO_Checkmark        = 3    * STRPTR label 
  89. MUIO_Cycle        = 4    * STRPTR label, STRPTR *entries 
  90. MUIO_Radio        = 5    * STRPTR label, STRPTR *entries 
  91. MUIO_Slider        = 6    * STRPTR label, LONG min, LONG max 
  92. MUIO_String        = 7    * STRPTR label, LONG maxlen 
  93. MUIO_PopButton        = 8    * STRPTR imagespec 
  94. MUIO_HSpace        = 9    * LONG space   
  95. MUIO_VSpace        = 10    * LONG space   
  96. MUIO_HBar        = 11    * LONG space   
  97. MUIO_VBar        = 12    * LONG space   
  98. MUIO_MenustripNM    = 13    * struct NewMenu .*ULONG flags 
  99. MUIO_Menuitem        = 14    * STRPTR label, STRPTR shortcut, ULONG flags, ULONG data 
  100. MUIO_BarTitle        = 15    * STRPTR label 
  101.  
  102. MUIO_Label_SingleFrame    = 1<<8
  103. MUIO_Label_DoubleFrame    = 1<<9
  104. MUIO_Label_LeftAligned     = 1<<10
  105. MUIO_Label_Centered    = 1<<11
  106.  
  107.  
  108.  
  109. ****************************************************************************
  110. ** ARexx Interface
  111. ****************************************************************************
  112. *
  113. * STRUCTURE MUI_Command,0
  114. *   APTR     mc_Name
  115. *   APTR     mc_Template
  116. *   LONG     mc_Parameters
  117. *   STRUCT   mc_Hook,h_SIZEOF
  118. *   STRUCT   mc_Reserved,4*5
  119. *   LABEL    MUI_Command_SIZEOF
  120.  
  121. MC_TEMPLATE_ID = ~0
  122.  
  123.  
  124. MUI_RXERR_BADDEFINITION        = -1
  125. MUI_RXERR_OUTOFMEMORY        = -2
  126. MUI_RXERR_UNKNOWNCOMMAND    = -3
  127. MUI_RXERR_BADSYNTAX        = -4
  128.  
  129.  
  130.  
  131. ****************************************************************************
  132. ** Return values for MUI_Error()
  133. ****************************************************************************
  134.  
  135. MUIE_OK                = 0
  136. MUIE_OutOfMemory        = 1
  137. MUIE_OutOfGfxMemory        = 2
  138. MUIE_InvalidWindowObject    = 3
  139. MUIE_MissingLibrary        = 4
  140. MUIE_NoARexx            = 5
  141. MUIE_SingleTask            = 6
  142.  
  143.  
  144.  
  145. ****************************************************************************
  146. ** Standard MUI Images
  147. ****************************************************************************
  148.  
  149. MUII_WindowBack        = 0
  150. MUII_RequesterBack    = 1
  151. MUII_ButtonBack        = 2
  152. MUII_ListBack        = 3
  153. MUII_TextBack        = 4
  154. MUII_PropBack        = 5
  155. MUII_PopupBack        = 6
  156. MUII_SelectedBack    = 7
  157. MUII_ListCursor        = 8
  158. MUII_ListSelect        = 9
  159. MUII_ListSelCur        = 10
  160. MUII_ArrowUp        = 11
  161. MUII_ArrowDown        = 12
  162. MUII_ArrowLeft        = 13
  163. MUII_ArrowRight        = 14
  164. MUII_CheckMark        = 15
  165. MUII_RadioButton    = 16
  166. MUII_Cycle        = 17
  167. MUII_PopUp        = 18
  168. MUII_PopFile        = 19
  169. MUII_PopDrawer        = 20
  170. MUII_PropKnob        = 21
  171. MUII_Drawer        = 22
  172. MUII_HardDisk        = 23
  173. MUII_Disk        = 24
  174. MUII_Chip        = 25
  175. MUII_Volume        = 26
  176. MUII_PopUpBack        = 27
  177. MUII_Network        = 28
  178. MUII_Assign        = 29
  179. MUII_TapePlay        = 30
  180. MUII_TapePlayBack    = 31
  181. MUII_TapePause        = 32
  182. MUII_TapeStop        = 33
  183. MUII_TapeRecord        = 34
  184. MUII_GroupBack        = 35
  185. MUII_SliderBack        = 36
  186. MUII_SliderKnob        = 37
  187. MUII_TapeUp        = 38
  188. MUII_TapeDown        = 39
  189. MUII_Count        = 40
  190.  
  191. MUII_BACKGROUND        = (128+0)
  192. MUII_SHADOW        = (128+1)
  193. MUII_SHINE        = (128+2)
  194. MUII_FILL        = (128+3)
  195. MUII_SHADOWBACK        = (128+4)
  196. MUII_SHADOWFILL        = (128+5)
  197. MUII_SHADOWSHINE    = (128+6)
  198. MUII_FILLBACK        = (128+7)
  199. MUII_FILLSHINE        = (128+8)
  200. MUII_SHINEBACK        = (128+9)
  201. MUII_FILLBACK2        = (128+10)
  202. MUII_HSHINEBACK        = (128+11)
  203. MUII_HSHADOWBACK    = (128+12)
  204. MUII_HSHINESHINE    = (128+13)
  205. MUII_HSHADOWSHADOW    = (128+14)
  206. MUII_LASTPAT        = (128+15)
  207.  
  208.  
  209. ****************************************************************************
  210. ** Special values for some methods 
  211. ****************************************************************************
  212.  
  213. MUIV_TriggerValue    = $49893131
  214. MUIV_NotTriggerValue    = $49893133
  215. MUIV_EveryTime        = $49893131
  216.  
  217. MUIV_Application_Save_ENV    = 0
  218. MUIV_Application_Save_ENVARC    = ~0
  219. MUIV_Application_Load_ENV    = 0
  220. MUIV_Application_Load_ENVARC    = ~0
  221.  
  222. MUIV_Notify_Self        = 1
  223. MUIV_Notify_Window        = 2
  224. MUIV_Notify_Application        = 3
  225.  
  226. MUIV_Application_ReturnID_Quit    = -1
  227.  
  228. MUIV_List_Insert_Top        = 0
  229. MUIV_List_Insert_Active        = -1
  230. MUIV_List_Insert_Sorted        = -2
  231. MUIV_List_Insert_Bottom        = -3
  232.  
  233. MUIV_List_Remove_First        = 0
  234. MUIV_List_Remove_Active        = -1
  235. MUIV_List_Remove_Last        = -2
  236. MUIV_List_Remove_Selected    = -3
  237.  
  238. MUIV_List_Select_Off        = 0
  239. MUIV_List_Select_On        = 1
  240. MUIV_List_Select_Toggle        = 2
  241. MUIV_List_Select_Ask        = 3
  242.  
  243. MUIV_List_GetEntry_Active    = -1
  244. MUIV_List_Select_Active        = -1
  245. MUIV_List_Select_All        = -2
  246.  
  247. MUIV_List_Redraw_Active        = -1
  248. MUIV_List_Redraw_All        = -2
  249.  
  250. MUIV_List_Move_Top        = 0
  251. MUIV_List_Move_Active        = -1
  252. MUIV_List_Move_Bottom        = -2
  253. MUIV_List_Move_Next        = -3 * only valid for second parameter 
  254. MUIV_List_Move_Previous        = -4 * only valid for second parameter
  255.  
  256. MUIV_List_Exchange_Top        =  0
  257. MUIV_List_Exchange_Active    = -1
  258. MUIV_List_Exchange_Bottom    = -2
  259. MUIV_List_Exchange_Next        = -3 * only valid for second parameter
  260. MUIV_List_Exchange_Previous    = -4 * only valid for second parameter
  261.  
  262. MUIV_List_Jump_Top        = 0
  263. MUIV_List_Jump_Active        = -1
  264. MUIV_List_Jump_Bottom        = -2
  265.  
  266. MUIV_Colorpanel_GetColor_Active    = -1
  267. MUIV_Colorpanel_SetColor_Active    = -1
  268.  
  269. MUIV_List_NextSelected_Start    = -1
  270. MUIV_List_NextSelected_End    = -1
  271.  
  272.  
  273. ***************************************************************************
  274. ** Parameter structures for some classes
  275. ***************************************************************************
  276.  
  277. * STRUCTURE MUI_Palette_Entry,0
  278. *   LONG    mpe_ID
  279. *   LONG    mpe_Red
  280. *   LONG    mpe_Green
  281. *   LONG    mpe_Blue
  282. *   LONG    mpe_Group
  283. *   LABEL   MUI_Palette_Entry_SIZEOF
  284.  
  285. MUIV_Palette_Entry_End = -1
  286.  
  287.  
  288. * STRUCTURE MUI_Scrmodelist_Entry,0
  289. *   APTR     sme_Name
  290. *   LONG     sme_ModeID
  291. *   LABEL    MUI_Scrmodelist_Entry_SIZEOF
  292.  
  293.  
  294.  
  295.  
  296.  
  297. *********************************************
  298. ** Begin of automatic header file creation **
  299. *********************************************
  300.  
  301.  
  302.  
  303.  
  304. ****************************************************************************
  305. ** Notify
  306. ****************************************************************************
  307.  
  308. ** Methods **
  309.  
  310. MUIM_CallHook        = $8042b96b ;** V4  **
  311. MUIM_FindUData        = $8042c196 ;** V8  **
  312. MUIM_GetUData        = $8042ed0c ;** V8  **
  313. MUIM_KillNotify        = $8042d240 ;** V4  **
  314. MUIM_MultiSet        = $8042d356 ;** V7  **
  315. MUIM_NoNotifySet    = $8042216f ;** V9  **
  316. MUIM_Notify        = $8042c9cb ;** V4  **
  317. MUIM_Set        = $8042549a ;** V4  **
  318. MUIM_SetAsString    = $80422590 ;** V4  **
  319. MUIM_SetUData        = $8042c920 ;** V8  **
  320. MUIM_WriteLong        = $80428d86 ;** V6  **
  321. MUIM_WriteString    = $80424bf4 ;** V6  **
  322.  
  323. ** Attributes **
  324.  
  325. MUIA_AppMessage        = $80421955 ;** V5  ..g struct AppMessage * **
  326. MUIA_HelpFile        = $80423a6e ;** V4  isg STRPTR       **
  327. MUIA_HelpLine        = $8042a825 ;** V4  isg LONG         **
  328. MUIA_HelpNode        = $80420b85 ;** V4  isg STRPTR       **
  329. MUIA_NoNotify        = $804237f9 ;** V7  .s. BOOL         **
  330. MUIA_Revision        = $80427eaa ;** V4  ..g LONG         **
  331. MUIA_UserData        = $80420313 ;** V4  isg ULONG        **
  332. MUIA_Version        = $80422301 ;** V4  ..g LONG         **
  333.  
  334.  
  335.  
  336. ****************************************************************************
  337. ** Family
  338. ****************************************************************************
  339.  
  340. ** Methods **
  341.  
  342. MUIM_Family_AddHead    = $8042e200 ;** V8  **
  343. MUIM_Family_AddTail    = $8042d752 ;** V8  **
  344. MUIM_Family_Insert    = $80424d34 ;** V8  **
  345. MUIM_Family_Remove    = $8042f8a9 ;** V8  **
  346. MUIM_Family_Sort    = $80421c49 ;** V8  **
  347. MUIM_Family_Transfer    = $8042c14a ;** V8  **
  348.  
  349. ** Attributes **
  350.  
  351. MUIA_Family_Child    = $8042c696 ;** V8  i.. Object
  352.  
  353.  
  354.  
  355. ****************************************************************************
  356. ** Menustrip
  357. ****************************************************************************
  358.  
  359. ;** Methods **
  360.  
  361.  
  362. ;** Attributes **
  363.  
  364. MUIA_Menustrip_Enabled    = $8042815b ;** V8  isg BOOL
  365.  
  366.  
  367.  
  368. ****************************************************************************
  369. ** Menu
  370. ****************************************************************************
  371.  
  372. ;** Methods **
  373.  
  374.  
  375. ;** Attributes **
  376.  
  377. MUIA_Menu_Enabled    = $8042ed48 ;** V8  isg BOOL
  378. MUIA_Menu_Title        = $8042a0e3 ;** V8  isg STRPTR
  379.  
  380.  
  381.  
  382. ****************************************************************************
  383. ** Menuitem
  384. ****************************************************************************
  385.  
  386. ** Methods **
  387.  
  388.  
  389. ** Attributes **
  390.  
  391. MUIA_Menuitem_Checked    = $8042562a ;** V8  isg BOOL
  392. MUIA_Menuitem_Checkit    = $80425ace ;** V8  isg BOOL
  393. MUIA_Menuitem_Enabled    = $8042ae0f ;** V8  isg BOOL
  394. MUIA_Menuitem_Exclude    = $80420bc6 ;** V8  isg LONG
  395. MUIA_Menuitem_Shortcut    = $80422030 ;** V8  isg char
  396. MUIA_Menuitem_Title    = $804218be ;** V8  isg STRPTR
  397. MUIA_Menuitem_Toggle    = $80424d5c ;** V8  isg BOOL
  398. MUIA_Menuitem_Trigger    = $80426f32 ;** V8  ..g struct MenuItem
  399.  
  400.  
  401.  
  402. ****************************************************************************
  403. ** Application
  404. ****************************************************************************
  405.  
  406. ** Methods **
  407.  
  408. MUIM_Application_GetMenuCheck    = $8042c0a7 ;** V4  **
  409. MUIM_Application_GetMenuState    = $8042a58f ;** V4  **
  410. MUIM_Application_Input        = $8042d0f5 ;** V4  **
  411. MUIM_Application_InputBuffered    = $80427e59 ;** V4  **
  412. MUIM_Application_Load        = $8042f90d ;** V4  **
  413. MUIM_Application_PushMethod    = $80429ef8 ;** V4  **
  414. MUIM_Application_ReturnID    = $804276ef ;** V4  **
  415. MUIM_Application_Save        = $804227ef ;** V4  **
  416. MUIM_Application_SetMenuCheck    = $8042a707 ;** V4  **
  417. MUIM_Application_SetMenuState    = $80428bef ;** V4  **
  418. MUIM_Application_ShowHelp    = $80426479 ;** V4  **
  419.  
  420. ** Attributes **
  421. MUIA_Application_Active        = $804260ab ;** V4  isg BOOL
  422. MUIA_Application_Author        = $80424842 ;** V4  i.g STRPTR
  423. MUIA_Application_Base        = $8042e07a ;** V4  i.g STRPTR
  424. MUIA_Application_Broker        = $8042dbce ;** V4  ..g Broker
  425. MUIA_Application_BrokerHook    = $80428f4b ;** V4  isg struct Hook
  426. MUIA_Application_BrokerPort    = $8042e0ad ;** V6  ..g struct MsgPort
  427. MUIA_Application_BrokerPri    = $8042c8d0 ;** V6  i.g LONG
  428. MUIA_Application_Commands    = $80428648 ;** V4  isg struct MUI_Command
  429. MUIA_Application_Copyright    = $8042ef4d ;** V4  i.g STRPTR
  430. MUIA_Application_Description    = $80421fc6 ;** V4  i.g STRPTR
  431. MUIA_Application_DiskObject    = $804235cb ;** V4  isg struct DiskObject
  432. MUIA_Application_DoubleStart    = $80423bc6 ;** V4  ..g BOOL
  433. MUIA_Application_DropObject    = $80421266 ;** V5  is. Object
  434. MUIA_Application_ForceQuit    = $804257df ;** V8  ..g BOOL
  435. MUIA_Application_HelpFile    = $804293f4 ;** V8  isg STRPTR
  436. MUIA_Application_Iconified    = $8042a07f ;** V4  .sg BOOL
  437. MUIA_Application_Menu        = $80420e1f ;** V4  i.g struct NewMenu
  438. MUIA_Application_MenuAction    = $80428961 ;** V4  ..g ULONG
  439. MUIA_Application_MenuHelp    = $8042540b ;** V4  ..g ULONG
  440. MUIA_Application_Menustrip    = $804252d9 ;** V8  i.. Object
  441. MUIA_Application_RexxHook    = $80427c42 ;** V7  isg struct Hook
  442. MUIA_Application_RexxMsg    = $8042fd88 ;** V4  ..g struct RxMsg
  443. MUIA_Application_RexxString    = $8042d711 ;** V4  .s. STRPTR
  444. MUIA_Application_SingleTask    = $8042a2c8 ;** V4  i.. BOOL
  445. MUIA_Application_Sleep        = $80425711 ;** V4  .s. BOOL
  446. MUIA_Application_Title        = $804281b8 ;** V4  i.g STRPTR
  447. MUIA_Application_UseCommodities    = $80425ee5 ;** V10 i.. BOOL
  448. MUIA_Application_UseRexx    = $80422387 ;** V10 i.. BOOL
  449. MUIA_Application_Version    = $8042b33f ;** V4  i.g STRPTR
  450. MUIA_Application_Window        = $8042bfe0 ;** V4  i.. Object
  451.  
  452.  
  453.  
  454. ****************************************************************************
  455. ** Window
  456. ****************************************************************************
  457.  
  458. ** Methods **
  459.  
  460. MUIM_Window_GetMenuCheck    = $80420414 ;** V4
  461. MUIM_Window_GetMenuState    = $80420d2f ;** V4
  462. MUIM_Window_ScreenToBack    = $8042913d ;** V4
  463. MUIM_Window_ScreenToFront    = $804227a4 ;** V4
  464. MUIM_Window_SetCycleChain    = $80426510 ;** V4
  465. MUIM_Window_SetMenuCheck    = $80422243 ;** V4
  466. MUIM_Window_SetMenuState    = $80422b5e ;** V4
  467. MUIM_Window_ToBack        = $8042152e ;** V4
  468. MUIM_Window_ToFront        = $8042554f ;** V4
  469.  
  470. ;** Attributes **
  471.  
  472. MUIA_Window_Activate        = $80428d2f ;** V4  isg BOOL
  473. MUIA_Window_ActiveObject    = $80427925 ;** V4  .sg Object
  474. MUIA_Window_AltHeight        = $8042cce3 ;** V4  i.g LONG
  475. MUIA_Window_AltLeftEdge        = $80422d65 ;** V4  i.g LONG
  476. MUIA_Window_AltTopEdge        = $8042e99b ;** V4  i.g LONG
  477. MUIA_Window_AltWidth        = $804260f4 ;** V4  i.g LONG
  478. MUIA_Window_AppWindow        = $804280cf ;** V5  i.. BOOL
  479. MUIA_Window_Backdrop        = $8042c0bb ;** V4  i.. BOOL
  480. MUIA_Window_Borderless        = $80429b79 ;** V4  i.. BOOL
  481. MUIA_Window_CloseGadget        = $8042a110 ;** V4  i.. BOOL
  482. MUIA_Window_CloseRequest    = $8042e86e ;** V4  ..g BOOL
  483. MUIA_Window_DefaultObject    = $804294d7 ;** V4  isg Object
  484. MUIA_Window_DepthGadget        = $80421923 ;** V4  i.. BOOL
  485. MUIA_Window_DragBar        = $8042045d ;** V4  i.. BOOL
  486. MUIA_Window_FancyDrawing    = $8042bd0e ;** V8  isg BOOL
  487. MUIA_Window_Height        = $80425846 ;** V4  i.g LONG
  488. MUIA_Window_ID            = $804201bd ;** V4  isg ULONG
  489. MUIA_Window_InputEvent        = $804247d8 ;** V4  ..g struct InputEvent
  490. MUIA_Window_LeftEdge        = $80426c65 ;** V4  i.g LONG
  491. MUIA_Window_Menu        = $8042db94 ;** V4  i.. struct NewMenu
  492. MUIA_Window_MenuAction        = $80427521 ;** V8  isg ULONG
  493. MUIA_Window_Menustrip        = $8042855e ;** V8  i.. Object
  494. MUIA_Window_MouseObject        = $8042bf9b ;** V10 ..g Object
  495. MUIA_Window_NeedsMouseObject    = $8042372a ;** V10 i.. BOOL
  496. MUIA_Window_NoMenus        = $80429df5 ;** V4  is. BOOL
  497. MUIA_Window_Open        = $80428aa0 ;** V4  .sg BOOL
  498. MUIA_Window_PublicScreen    = $804278e4 ;** V6  isg STRPTR
  499. MUIA_Window_RefWindow        = $804201f4 ;** V4  is. Object
  500. MUIA_Window_RootObject        = $8042cba5 ;** V4  i.. Object
  501. MUIA_Window_Screen        = $8042df4f ;** V4  isg struct Screen
  502. MUIA_Window_ScreenTitle        = $804234b0 ;** V5  isg STRPTR
  503. MUIA_Window_SizeGadget        = $8042e33d ;** V4  i.. BOOL
  504. MUIA_Window_SizeRight        = $80424780 ;** V4  i.. BOOL
  505. MUIA_Window_Sleep        = $8042e7db ;** V4  .sg BOOL
  506. MUIA_Window_Title        = $8042ad3d ;** V4  isg STRPTR
  507. MUIA_Window_TopEdge        = $80427c66 ;** V4  i.g LONG
  508. MUIA_Window_Width        = $8042dcae ;** V4  i.g LONG
  509. MUIA_Window_Window         = $80426a42 ;** V4  ..g struct Window
  510.  
  511. MUIV_Window_ActiveObjectNone    = 0
  512. MUIV_Window_ActiveObjectNext    = -1
  513. MUIV_Window_ActiveObjectPrev    = -2
  514. MUIV_Window_AltHeightMinMax    = 0
  515. MUIV_Window_AltHeightVisible    = -100
  516. MUIV_Window_AltHeightScreen    = -200
  517. MUIV_Window_AltHeightScaled    = -1000
  518. MUIV_Window_AltLeftEdgeCentered    = -1
  519. MUIV_Window_AltLeftEdgeMoused    = -2
  520. MUIV_Window_AltLeftEdgeNoChangr    = -1000
  521. MUIV_Window_AltTopEdgeCentered    = -1
  522. MUIV_Window_AltTopEdgeMoused    = -2
  523. MUIV_Window_AltTopEdgeDelta    = -3
  524. MUIV_Window_AltTopEdgeNoChange    = -1000
  525. MUIV_Window_AltWidthMinMax    = 0
  526. MUIV_Window_AltWidthVisible    = -100
  527. MUIV_Window_AltWidthScreen    = -200
  528. MUIV_Window_AltWidthScaled    = -1000
  529. MUIV_Window_HeightMinMax    = 0
  530. MUIV_Window_HeightVisible    = -100
  531. MUIV_Window_HeightScreen    = -200
  532. MUIV_Window_HeightScaled    = -1000
  533. MUIV_Window_HeightDefault    = -1001
  534. MUIV_Window_LeftEdgeCentered    = -1
  535. MUIV_Window_LeftEdgeMoused    = -2
  536. MUIV_Window_MenuNoMenu        = -1
  537. MUIV_Window_TopEdgeCentered    = -1
  538. MUIV_Window_TopEdgeMoused    = -2
  539. MUIV_Window_TopEdgeDelta    = -3
  540. MUIV_Window_WidthMinMax        = 0
  541. MUIV_Window_WidthVisible    = -100
  542. MUIV_Window_WidthScreen        = -200
  543. MUIV_Window_WidthScaled        = -1000
  544. MUIV_Window_WidthDefault    = -1001
  545.  
  546.  
  547. ****************************************************************************
  548. ** Area
  549. ****************************************************************************
  550.  
  551. ** Methods **
  552.  
  553. MUIM_AskMinMax        = $80423874 ;** V4
  554. MUIM_Cleanup        = $8042d985 ;** V4
  555. MUIM_Draw        = $80426f3f ;** V4
  556. MUIM_HandleInput    = $80422a1a ;** V4
  557. MUIM_Hide        = $8042f20f ;** V4
  558. MUIM_Setup        = $80428354 ;** V4
  559. MUIM_Show        = $8042cc84 ;** V4
  560.  
  561. ;** Attributes **
  562.  
  563. MUIA_ApplicationObject    = $8042d3ee ;** V4  ..g Object
  564. MUIA_Background        = $8042545b ;** V4  is. LONG
  565. MUIA_BottomEdge        = $8042e552 ;** V4  ..g LONG
  566. MUIA_ControlChar    = $8042120b ;** V4  i.. char
  567. MUIA_Disabled        = $80423661 ;** V4  isg BOOL
  568. MUIA_ExportID        = $8042d76e ;** V4  isg LONG
  569. MUIA_FixHeight        = $8042a92b ;** V4  i.. LONG
  570. MUIA_FixHeightTxt    = $804276f2 ;** V4  i.. LONG
  571. MUIA_FixWidth        = $8042a3f1 ;** V4  i.. LONG
  572. MUIA_FixWidthTxt    = $8042d044 ;** V4  i.. STRPTR
  573. MUIA_Font        = $8042be50 ;** V4  i.g struct TextFont
  574. MUIA_Frame        = $8042ac64 ;** V4  i.. LONG
  575. MUIA_FramePhantomHoriz    = $8042ed76 ;** V4  i.. BOOL
  576. MUIA_FrameTitle        = $8042d1c7 ;** V4  i.. STRPTR
  577. MUIA_Height        = $80423237 ;** V4  ..g LONG
  578. MUIA_HorizWeight    = $80426db9 ;** V4  i.. WORD
  579. MUIA_InnerBottom    = $8042f2c0 ;** V4  i.. LONG
  580. MUIA_InnerLeft        = $804228f8 ;** V4  i.. LONG
  581. MUIA_InnerRight        = $804297ff ;** V4  i.. LONG
  582. MUIA_InnerTop        = $80421eb6 ;** V4  i.. LONG
  583. MUIA_InputMode        = $8042fb04 ;** V4  i.. LONG
  584. MUIA_LeftEdge        = $8042bec6 ;** V4  ..g LONG
  585. MUIA_Pressed        = $80423535 ;** V4  ..g BOOL
  586. MUIA_RightEdge        = $8042ba82 ;** V4  ..g LONG
  587. MUIA_Selected        = $8042654b ;** V4  isg BOOL
  588. MUIA_ShowMe        = $80429ba8 ;** V4  isg BOOL
  589. MUIA_ShowSelState    = $8042caac ;** V4  i.. BOOL
  590. MUIA_Timer        = $80426435 ;** V4  ..g LONG
  591. MUIA_TopEdge        = $8042509b ;** V4  ..g LONG
  592. MUIA_VertWeight        = $804298d0 ;** V4  i.. WORD
  593. MUIA_Weight        = $80421d1f ;** V4  i.. WORD
  594. MUIA_Width        = $8042b59c ;** V4  ..g LONG
  595. MUIA_Window        = $80421591 ;** V4  ..g struct Window
  596. MUIA_WindowObject    = $8042669e ;** V4  ..g Object
  597.  
  598. MUIV_FontInherit        = 0
  599. MUIV_FontNormal            = -1
  600. MUIV_FontList            = -2
  601. MUIV_FontTiny            = -3
  602. MUIV_FontFixed            = -4
  603. MUIV_FontTitle            = -5
  604. MUIV_FontBig            = -6
  605. MUIV_Frame_None            = 0
  606. MUIV_Frame_Button        = 1
  607. MUIV_Frame_ImageButton        = 2
  608. MUIV_Frame_Text            = 3
  609. MUIV_Frame_String        = 4
  610. MUIV_Frame_ReadList        = 5
  611. MUIV_Frame_InputList        = 6
  612. MUIV_Frame_Prop            = 7
  613. MUIV_Frame_Gauge        = 8
  614. MUIV_Frame_Group        = 9
  615. MUIV_Frame_PopUp        = 10
  616. MUIV_Frame_Virtual        = 11
  617. MUIV_Frame_Slider        = 12
  618. MUIV_Frame_Count        = 13
  619. MUIV_InputMode_None        = 0
  620. MUIV_InputMode_RelVerify    = 1
  621. MUIV_InputMode_Immediate    = 2
  622. MUIV_InputMode_Toggle        = 3
  623.  
  624.  
  625. ****************************************************************************
  626. ** Rectangle
  627. ****************************************************************************
  628.  
  629. ** Attributes **
  630.  
  631. MUIA_Rectangle_HBar    = $8042c943 ;** V7  i.g BOOL
  632. MUIA_Rectangle_VBar    = $80422204 ;** V7  i.g BOOL
  633.  
  634.  
  635.  
  636. ****************************************************************************
  637. ** Image
  638. ****************************************************************************
  639.  
  640. ** Attributes **
  641.  
  642. MUIA_Image_FontMatch        = $8042815d ;** V4  i.. BOOL
  643. MUIA_Image_FontMatch_Height    = $80429f26 ;** V4  i.. BOOL
  644. MUIA_Image_FontMatch_Width    = $804239bf ;** V4  i.. BOOL
  645. MUIA_Image_FreeHoriz        = $8042da84 ;** V4  i.. BOOL
  646. MUIA_Image_FreeVert        = $8042ea28 ;** V4  i.. BOOL
  647. MUIA_Image_OldImage        = $80424f3d ;** V4  i.. struct Image
  648. MUIA_Image_Spec            = $804233d5 ;** V4  i.. char
  649. MUIA_Image_State        = $8042a3ad ;** V4  is. LONG
  650.  
  651.  
  652.  
  653. ****************************************************************************
  654. ** Bitmap
  655. ****************************************************************************
  656.  
  657. ** Attributes **
  658.  
  659. MUIA_Bitmap_Bitmap        = $804279bd ;** V8  isg struct BitMap
  660. MUIA_Bitmap_Height        = $80421560 ;** V8  isg LONG
  661. MUIA_Bitmap_MappingTable    = $8042e23d ;** V8  isg UBYTE
  662. MUIA_Bitmap_SourceColors    = $80425360 ;** V8  isg ULONG
  663. MUIA_Bitmap_Transparent        = $80422805 ;** V8  isg LONG
  664. MUIA_Bitmap_Width        = $8042eb3a ;** V8  isg LONG
  665.  
  666.  
  667.  
  668. ****************************************************************************
  669. ** Bodychunk
  670. ****************************************************************************
  671.  
  672. ** Attributes **
  673.  
  674. MUIA_Bodychunk_Body        = $8042ca67 ;** V8  isg UBYTE
  675. MUIA_Bodychunk_Compression    = $8042de5f ;** V8  isg UBYTE
  676. MUIA_Bodychunk_Depth        = $8042c392 ;** V8  isg LONG
  677. MUIA_Bodychunk_Masking        = $80423b0e ;** V8  isg UBYTE
  678.  
  679.  
  680.  
  681. ****************************************************************************
  682. ** Text
  683. ****************************************************************************
  684.  
  685. ** Attributes **
  686.  
  687. MUIA_Text_Contents    = $8042f8dc ;** V4  isg STRPTR
  688. MUIA_Text_HiChar    = $804218ff ;** V4  i.. char
  689. MUIA_Text_PreParse    = $8042566d ;** V4  isg STRPTR
  690. MUIA_Text_SetMax    = $80424d0a ;** V4  i.. BOOL
  691. MUIA_Text_SetMin    = $80424e10 ;** V4  i.. BOOL
  692.  
  693.  
  694.  
  695. ****************************************************************************
  696. ** String
  697. ****************************************************************************
  698.  
  699. ** Attributes **
  700.  
  701. MUIA_String_Accept        = $8042e3e1 ;** V4  isg STRPTR
  702. MUIA_String_Acknowledge        = $8042026c ;** V4  ..g STRPTR
  703. MUIA_String_AttachedList    = $80420fd2 ;** V4  i.. Object
  704. MUIA_String_BufferPos        = $80428b6c ;** V4  .sg LONG
  705. MUIA_String_Contents        = $80428ffd ;** V4  isg STRPTR
  706. MUIA_String_DisplayPos        = $8042ccbf ;** V4  .sg LONG
  707. MUIA_String_EditHook        = $80424c33 ;** V7  isg struct Hook
  708. MUIA_String_Format        = $80427484 ;** V4  i.g LONG
  709. MUIA_String_Integer        = $80426e8a ;** V4  isg ULONG
  710. MUIA_String_MaxLen        = $80424984 ;** V4  i.g LONG
  711. MUIA_String_Reject        = $8042179c ;** V4  isg STRPTR
  712. MUIA_String_Secret        = $80428769 ;** V4  i.g BOOL
  713.  
  714. MUIV_String_FormatLeft        = 0
  715. MUIV_String_FormatCenter    = 1
  716. MUIV_String_FormatRight        = 2
  717.  
  718.  
  719. ****************************************************************************
  720. ** Prop
  721. ****************************************************************************
  722.  
  723. ** Attributes **
  724.  
  725. MUIA_Prop_Entries    = $8042fbdb ;** V4  isg LONG
  726. MUIA_Prop_First        = $8042d4b2 ;** V4  isg LONG
  727. MUIA_Prop_Horiz        = $8042f4f3 ;** V4  i.g BOOL
  728. MUIA_Prop_Slider    = $80429c3a ;** V4  isg BOOL
  729. MUIA_Prop_Visible    = $8042fea6 ;** V4  isg LONG
  730.  
  731.  
  732.  
  733. ****************************************************************************
  734. ** Gauge
  735. ****************************************************************************
  736.  
  737. ** Attributes **
  738.  
  739. MUIA_Gauge_Current    = $8042f0dd ;** V4  isg LONG
  740. MUIA_Gauge_Divide    = $8042d8df ;** V4  isg BOOL
  741. MUIA_Gauge_Horiz    = $804232dd ;** V4  i.. BOOL
  742. MUIA_Gauge_InfoText    = $8042bf15 ;** V7  isg char
  743. MUIA_Gauge_Max        = $8042bcdb ;** V4  isg LONG
  744.  
  745.  
  746.  
  747. ****************************************************************************
  748. ** Scale
  749. ****************************************************************************
  750.  
  751. ** Attributes **
  752.  
  753. MUIA_Scale_Horiz    = $8042919a ;** V4  isg BOOL
  754.  
  755.  
  756.  
  757. ****************************************************************************
  758. ** Boopsi
  759. ****************************************************************************
  760.  
  761. ** Attributes **
  762.  
  763. MUIA_Boopsi_Class    = $80426999 ;** V4  isg struct IClass
  764. MUIA_Boopsi_ClassID    = $8042bfa3 ;** V4  isg char
  765. MUIA_Boopsi_MaxHeight    = $8042757f ;** V4  isg ULONG
  766. MUIA_Boopsi_MaxWidth    = $8042bcb1 ;** V4  isg ULONG
  767. MUIA_Boopsi_MinHeight    = $80422c93 ;** V4  isg ULONG
  768. MUIA_Boopsi_MinWidth    = $80428fb2 ;** V4  isg ULONG
  769. MUIA_Boopsi_Object    = $80420178 ;** V4  ..g Object
  770. MUIA_Boopsi_Remember    = $8042f4bd ;** V4  i.. ULONG
  771. MUIA_Boopsi_Smart    = $8042b8d7 ;** V9  i.. BOOL
  772. MUIA_Boopsi_TagDrawInfo    = $8042bae7 ;** V4  isg ULONG
  773. MUIA_Boopsi_TagScreen    = $8042bc71 ;** V4  isg ULONG
  774. MUIA_Boopsi_TagWindow    = $8042e11d ;** V4  isg ULONG
  775.  
  776.  
  777.  
  778. ****************************************************************************
  779. ** Colorfield
  780. ****************************************************************************
  781.  
  782. ** Attributes **
  783.  
  784. MUIA_Colorfield_Blue    = $8042d3b0 ;** V4  isg ULONG
  785. MUIA_Colorfield_Green    = $80424466 ;** V4  isg ULONG
  786. MUIA_Colorfield_Pen    = $8042713a ;** V4  ..g ULONG
  787. MUIA_Colorfield_Red    = $804279f6 ;** V4  isg ULONG
  788. MUIA_Colorfield_RGB    = $8042677a ;** V4  isg ULONG
  789.  
  790.  
  791.  
  792. ****************************************************************************
  793. ** List
  794. ****************************************************************************
  795.  
  796. ** Methods **
  797.  
  798. MUIM_List_Clear        = $8042ad89 ;** V4
  799. MUIM_List_Exchange    = $8042468c ;** V4
  800. MUIM_List_GetEntry    = $804280ec ;** V4
  801. MUIM_List_Insert    = $80426c87 ;** V4
  802. MUIM_List_InsertSingle    = $804254d5 ;** V7
  803. MUIM_List_Jump        = $8042baab ;** V4
  804. MUIM_List_Move        = $804253c2 ;** V9
  805. MUIM_List_NextSelected    = $80425f17 ;** V6
  806. MUIM_List_Redraw    = $80427993 ;** V4
  807. MUIM_List_Remove    = $8042647e ;** V4
  808. MUIM_List_Select    = $804252d8 ;** V4
  809. MUIM_List_Sort        = $80422275 ;** V4
  810.  
  811. ** Attributes **
  812.  
  813. MUIA_List_Active        = $8042391c ;** V4  isg LONG
  814. MUIA_List_AdjustHeight        = $8042850d ;** V4  i.. BOOL
  815. MUIA_List_AdjustWidth        = $8042354a ;** V4  i.. BOOL
  816. MUIA_List_CompareHook        = $80425c14 ;** V4  is. struct Hook
  817. MUIA_List_ConstructHook        = $8042894f ;** V4  is. struct Hook
  818. MUIA_List_DestructHook        = $804297ce ;** V4  is. struct Hook
  819. MUIA_List_DisplayHook        = $8042b4d5 ;** V4  is. struct Hook
  820. MUIA_List_Entries        = $80421654 ;** V4  ..g LONG
  821. MUIA_List_First            = $804238d4 ;** V4  ..g LONG
  822. MUIA_List_Format        = $80423c0a ;** V4  isg STRPTR
  823. MUIA_List_InsertPosition    = $8042d0cd ;** V9  ..g LONG
  824. MUIA_List_MultiTestHook        = $8042c2c6 ;** V4  is. struct Hook
  825. MUIA_List_Quiet            = $8042d8c7 ;** V4  .s. BOOL
  826. MUIA_List_SourceArray        = $8042c0a0 ;** V4  i.. APTR
  827. MUIA_List_Title            = $80423e66 ;** V6  isg char
  828. MUIA_List_Visible        = $8042191f ;** V4  ..g LONG
  829.  
  830. MUIV_List_Active_Off        = -1
  831. MUIV_List_Active_Top        = -2
  832. MUIV_List_Active_Bottom        = -3
  833. MUIV_List_Active_Up        = -4
  834. MUIV_List_Active_Down        = -5
  835. MUIV_List_Active_PageUp        = -6
  836. MUIV_List_Active_PageDown    = -7
  837. MUIV_List_ConstructHookString    = -1
  838. MUIV_List_DestructHookString    = -1
  839.  
  840.  
  841. ****************************************************************************
  842. ** Floattext
  843. ****************************************************************************
  844.  
  845. ** Attributes **
  846.  
  847. MUIA_Floattext_Justify        = $8042dc03 ;** V4  isg BOOL
  848. MUIA_Floattext_SkipChars    = $80425c7d ;** V4  is. STRPTR
  849. MUIA_Floattext_TabSize        = $80427d17 ;** V4  is. LONG
  850. MUIA_Floattext_Text        = $8042d16a ;** V4  isg STRPTR
  851.  
  852.  
  853.  
  854. ****************************************************************************
  855. ** Volumelist
  856. ****************************************************************************
  857.  
  858.  
  859. ****************************************************************************
  860. ** Scrmodelist
  861. ****************************************************************************
  862.  
  863. ** Attributes **
  864.  
  865.  
  866.  
  867.  
  868. ****************************************************************************
  869. ** Dirlist
  870. ****************************************************************************
  871.  
  872. ** Methods **
  873.  
  874. MUIM_Dirlist_ReRead        = $80422d71 ;** V4
  875.  
  876. ** Attributes **
  877.  
  878. MUIA_Dirlist_AcceptPattern    = $8042760a ;** V4  is. STRPTR
  879. MUIA_Dirlist_Directory        = $8042ea41 ;** V4  isg STRPTR
  880. MUIA_Dirlist_DrawersOnly    = $8042b379 ;** V4  is. BOOL
  881. MUIA_Dirlist_FilesOnly        = $8042896a ;** V4  is. BOOL
  882. MUIA_Dirlist_FilterDrawers    = $80424ad2 ;** V4  is. BOOL
  883. MUIA_Dirlist_FilterHook        = $8042ae19 ;** V4  is. struct Hook
  884. MUIA_Dirlist_MultiSelDirs    = $80428653 ;** V6  is. BOOL
  885. MUIA_Dirlist_NumBytes        = $80429e26 ;** V4  ..g LONG
  886. MUIA_Dirlist_NumDrawers        = $80429cb8 ;** V4  ..g LONG
  887. MUIA_Dirlist_NumFiles        = $8042a6f0 ;** V4  ..g LONG
  888. MUIA_Dirlist_Path        = $80426176 ;** V4  ..g STRPTR
  889. MUIA_Dirlist_RejectIcons    = $80424808 ;** V4  is. BOOL
  890. MUIA_Dirlist_RejectPattern    = $804259c7 ;** V4  is. STRPTR
  891. MUIA_Dirlist_SortDirs        = $8042bbb9 ;** V4  is. LONG
  892. MUIA_Dirlist_SortHighLow    = $80421896 ;** V4  is. BOOL
  893. MUIA_Dirlist_SortType        = $804228bc ;** V4  is. LONG
  894. MUIA_Dirlist_Status        = $804240de ;** V4  ..g LONG
  895.  
  896. MUIV_Dirlist_SortDirsFirst    = 0
  897. MUIV_Dirlist_SortDirsLast    = 1
  898. MUIV_Dirlist_SortDirsMix    = 2
  899. MUIV_Dirlist_SortTypeName    = 0
  900. MUIV_Dirlist_SortTypeDate    = 1
  901. MUIV_Dirlist_SortTypeSize    = 2
  902. MUIV_Dirlist_StatusInvalid    = 0
  903. MUIV_Dirlist_StatusReading    = 1
  904. MUIV_Dirlist_StatusValid    = 2
  905.  
  906.  
  907. ****************************************************************************
  908. ** Group
  909. ****************************************************************************
  910.  
  911. ** Methods **
  912.  
  913.  
  914. ** Attributes **
  915.  
  916. MUIA_Group_ActivePage    = $80424199 ;** V5  isg LONG
  917. MUIA_Group_Child    = $804226e6 ;** V4  i.. Object
  918. MUIA_Group_Columns    = $8042f416 ;** V4  is. LONG
  919. MUIA_Group_Horiz    = $8042536b ;** V4  i.. BOOL
  920. MUIA_Group_HorizSpacing    = $8042c651 ;** V4  is. LONG
  921. MUIA_Group_PageMode    = $80421a5f ;** V5  is. BOOL
  922. MUIA_Group_Rows        = $8042b68f ;** V4  is. LONG
  923. MUIA_Group_SameHeight    = $8042037e ;** V4  i.. BOOL
  924. MUIA_Group_SameSize    = $80420860 ;** V4  i.. BOOL
  925. MUIA_Group_SameWidth    = $8042b3ec ;** V4  i.. BOOL
  926. MUIA_Group_Spacing    = $8042866d ;** V4  is. LONG
  927. MUIA_Group_VertSpacing    = $8042e1bf ;** V4  is. LONG
  928.  
  929. MUIV_Group_ActivePageFirst    = 0
  930. MUIV_Group_ActivePageLast    = -1
  931. MUIV_Group_ActivePagePrev    = -2
  932. MUIV_Group_ActivePageNext    = -3
  933.  
  934.  
  935. ****************************************************************************
  936. ** Register
  937. ****************************************************************************
  938.  
  939. ** Attributes **
  940.  
  941. MUIA_Register_Frame    = $8042349b ;** V7  i.g BOOL
  942. MUIA_Register_Titles    = $804297ec ;** V7  i.g STRPTR
  943.  
  944.  
  945.  
  946. ****************************************************************************
  947. ** Virtgroup
  948. ****************************************************************************
  949.  
  950. ** Methods **
  951.  
  952.  
  953. ** Attributes **
  954.  
  955. MUIA_Virtgroup_Height    = $80423038 ;** V6  ..g LONG
  956. MUIA_Virtgroup_Left    = $80429371 ;** V6  isg LONG
  957. MUIA_Virtgroup_Top    = $80425200 ;** V6  isg LONG
  958. MUIA_Virtgroup_Width    = $80427c49 ;** V6  ..g LONG
  959.  
  960.  
  961.  
  962. ****************************************************************************
  963. ** Scrollgroup
  964. ****************************************************************************
  965.  
  966. ** Attributes **
  967.  
  968. MUIA_Scrollgroup_Contents    = $80421261 ;** V4  i.. Object
  969. MUIA_Scrollgroup_FreeHoriz    = $804292f3 ;** V9  i.. BOOL
  970. MUIA_Scrollgroup_FreeVert    = $804224f2 ;** V9  i.. BOOL
  971.  
  972.  
  973.  
  974. ****************************************************************************
  975. ** Scrollbar
  976. ****************************************************************************
  977.  
  978.  
  979. ****************************************************************************
  980. ** Listview
  981. ****************************************************************************
  982.  
  983. ** Attributes **
  984.  
  985. MUIA_Listview_ClickColumn    = $8042d1b3 ;** V7  ..g LONG
  986. MUIA_Listview_DefClickColumn    = $8042b296 ;** V7  isg LONG
  987. MUIA_Listview_DoubleClick    = $80424635 ;** V4  i.g BOOL
  988. MUIA_Listview_Input        = $8042682d ;** V4  i.. BOOL
  989. MUIA_Listview_List        = $8042bcce ;** V4  i.. Object
  990. MUIA_Listview_MultiSelect    = $80427e08 ;** V7  i.. LONG
  991. MUIA_Listview_ScrollerPos    = $8042b1b4 ;** V10 i.. BOOL
  992. MUIA_Listview_SelectChange    = $8042178f ;** V4  ..g BOOL
  993.  
  994. MUIV_Listview_MultiSelect_None        = 0
  995. MUIV_Listview_MultiSelect_Default    = 1
  996. MUIV_Listview_MultiSelect_Shifte    = 2
  997. MUIV_Listview_MultiSelect_Always    = 3
  998. MUIV_Listview_ScrollerPos_Default    = 0
  999. MUIV_Listview_ScrollerPos_Left        = 1
  1000. MUIV_Listview_ScrollerPos_Right        = 2
  1001.  
  1002.  
  1003. ****************************************************************************
  1004. ** Radio
  1005. ****************************************************************************
  1006.  
  1007. ** Attributes **
  1008.  
  1009. MUIA_Radio_Active    = $80429b41 ;** V4  isg LONG
  1010. MUIA_Radio_Entries    = $8042b6a1 ;** V4  i.. STRPTR
  1011.  
  1012.  
  1013.  
  1014. ****************************************************************************
  1015. ** Cycle
  1016. ****************************************************************************
  1017.  
  1018. ** Attributes **
  1019.  
  1020. MUIA_Cycle_Active    = $80421788 ;** V4  isg LONG
  1021. MUIA_Cycle_Entries    = $80420629 ;** V4  i.. STRPTR
  1022.  
  1023. MUIV_Cycle_ActiveNext    = -1
  1024. MUIV_Cycle_ActivePrev    = -2
  1025.  
  1026.  
  1027. ****************************************************************************
  1028. ** Slider
  1029. ****************************************************************************
  1030.  
  1031. ** Attributes **
  1032.  
  1033. MUIA_Slider_Level    = $8042ae3a ;** V4  isg LONG
  1034. MUIA_Slider_Max        = $8042d78a ;** V4  isg LONG
  1035. MUIA_Slider_Min        = $8042e404 ;** V4  isg LONG
  1036. MUIA_Slider_Quiet    = $80420b26 ;** V6  i.. BOOL
  1037. MUIA_Slider_Reverse    = $8042f2a0 ;** V4  isg BOOL
  1038.  
  1039.  
  1040. ****************************************************************************
  1041. ** Coloradjust
  1042. ****************************************************************************
  1043.  
  1044. ** Attributes **
  1045.  
  1046. MUIA_Coloradjust_Blue    = $8042b8a3 ;** V4  isg ULONG
  1047. MUIA_Coloradjust_Green    = $804285ab ;** V4  isg ULONG
  1048. MUIA_Coloradjust_ModeID    = $8042ec59 ;** V4  isg ULONG
  1049. MUIA_Coloradjust_Red    = $80420eaa ;** V4  isg ULONG
  1050. MUIA_Coloradjust_RGB    = $8042f899 ;** V4  isg ULONG
  1051.  
  1052.  
  1053.  
  1054. ****************************************************************************
  1055. ** Palette
  1056. ****************************************************************************
  1057.  
  1058. ** Attributes **
  1059.  
  1060. MUIA_Palette_Entries    = $8042a3d8 ;** V6  i.g struct MUI_Palette_Entry
  1061. MUIA_Palette_Groupable    = $80423e67 ;** V6  isg BOOL
  1062. MUIA_Palette_Names    = $8042c3a2 ;** V6  isg char
  1063.  
  1064.  
  1065.  
  1066. ****************************************************************************
  1067. ** Colorpanel
  1068. ****************************************************************************
  1069.  
  1070. ** Methods **
  1071.  
  1072.  
  1073. ** Attributes **
  1074.  
  1075.  
  1076. ****************************************************************************
  1077. ** Popstring
  1078. ****************************************************************************
  1079.  
  1080. ** Methods **
  1081.  
  1082. MUIM_Popstring_Close    = $8042dc52 ;** V7
  1083. MUIM_Popstring_Open     = $804258ba ;** V7
  1084.  
  1085. ** Attributes **
  1086.  
  1087. MUIA_Popstring_Button        = $8042d0b9 ;** V7  i.g Object
  1088. MUIA_Popstring_CloseHook    = $804256bf ;** V7  isg struct Hook
  1089. MUIA_Popstring_OpenHook        = $80429d00 ;** V7  isg struct Hook
  1090. MUIA_Popstring_String        = $804239ea ;** V7  i.g Object
  1091. MUIA_Popstring_Toggle        = $80422b7a ;** V7  isg BOOL
  1092.  
  1093.  
  1094.  
  1095. ****************************************************************************
  1096. ** Popobject
  1097. ****************************************************************************
  1098.  
  1099. ** Attributes **
  1100.  
  1101. MUIA_Popobject_Follow        = $80424cb5 ;** V7  isg BOOL
  1102. MUIA_Popobject_Light        = $8042a5a3 ;** V7  isg BOOL
  1103. MUIA_Popobject_Object        = $804293e3 ;** V7  i.g Object
  1104. MUIA_Popobject_ObjStrHook    = $8042db44 ;** V7  isg struct Hook
  1105. MUIA_Popobject_StrObjHook    = $8042fbe1 ;** V7  isg struct Hook
  1106. MUIA_Popobject_Volatile        = $804252ec ;** V7  isg BOOL
  1107. MUIA_Popobject_WindowHook    = $8042f194 ;** V9  isg struct Hook
  1108.  
  1109.  
  1110.  
  1111. ****************************************************************************
  1112. ** Poplist
  1113. ****************************************************************************
  1114.  
  1115. ** Attributes **
  1116.  
  1117. MUIA_Poplist_Array    = $8042084c ;** V8  i.. char
  1118.  
  1119.  
  1120.  
  1121. ****************************************************************************
  1122. ** Popasl
  1123. ****************************************************************************
  1124.  
  1125. ** Attributes **
  1126.  
  1127. MUIA_Popasl_Active    = $80421b37 ;** V7  ..g BOOL
  1128. MUIA_Popasl_StartHook    = $8042b703 ;** V7  isg struct Hook
  1129. MUIA_Popasl_StopHook    = $8042d8d2 ;** V7  isg struct Hook
  1130. MUIA_Popasl_Type    = $8042df3d ;** V7  i.g ULONG
  1131.  
  1132.  
  1133.  
  1134. ;*******************************************
  1135. ;** End of automatic header file creation **
  1136. ;*******************************************
  1137.  
  1138.  
  1139. ****************************************************************************
  1140. **
  1141. ** Macro Section
  1142. ** -------------
  1143. **
  1144. ** To make GUI creation more easy and understandable, you can use the
  1145. ** macros below. If you dont want, just define MUI_NOSHORTCUTS to disable
  1146. ** them.
  1147. **
  1148. ** These macros are available to C programmers only.
  1149. **
  1150. *** NOTE: This .i file contains the corresponding macros for
  1151. *** assembler programmers.  All assembler related comments are
  1152. *** marked with three *'s.  The original comments and examples for
  1153. *** C are still intact.
  1154. **
  1155. ****************************************************************************
  1156.  
  1157.    IFND MUI_NOSHORTCUTS
  1158.  
  1159.  
  1160.  
  1161. ****************************************************************************
  1162. **
  1163. ** Object Generation
  1164. ** -----------------
  1165. **
  1166. ** The xxxObject (and xChilds) macros generate new instances of MUI classes.
  1167. ** Every xxxObject can be followed by tagitems specifying initial create
  1168. ** time attributes for the new object and must be terminated with the
  1169. ** End macro:
  1170. **
  1171. ** obj = StringObject,
  1172. **    MUIA_String_Contents, "foo",
  1173. **    MUIA_String_MaxLen  , 40,
  1174. **    End;
  1175. **
  1176. ** With the Child, SubWindow and WindowContents shortcuts you can
  1177. ** construct a complete GUI within one command:
  1178. **
  1179. ** app = ApplicationObject,
  1180. **
  1181. **    ...
  1182. **
  1183. **    SubWindow, WindowObject,
  1184. **        WindowContents, VGroup,
  1185. **            Child, String("foo",40),
  1186. **            Child, String("bar",50),
  1187. **            Child, HGroup,
  1188. **            Child, CheckMark(TRUE),
  1189. **            Child, CheckMark(FALSE),
  1190. **            End,
  1191. **        End,
  1192. **    End,
  1193. **
  1194. **    SubWindow, WindowObject,
  1195. **        WindowContents, HGroup,
  1196. **            Child, ...,
  1197. **            Child, ...,
  1198. **            End,
  1199. **        End,
  1200. **
  1201. **    ...
  1202. **
  1203. **    End;
  1204. **
  1205. ****************************************************************************
  1206.  
  1207.  
  1208. ****************************************************************************
  1209. ***
  1210. *** These assembler macros behave somewhat in the same way as the C macros
  1211. *** but with some minor differences:
  1212. *** The macro names End, and SET are already in use in most assembler
  1213. *** compilers, so they are replaced with Endi and seti (for consistencys
  1214. *** sake get is also renamed to geti).
  1215. ***
  1216. *** You must provide memory for all the taglists needed in the object
  1217. *** creation.  The maximum memory needed is passed to you in the 
  1218. *** TAG_SPACE variable.  This is not the mimimum memory needed in most
  1219. *** cases and is often a few kilos too large, but this is the best I
  1220. *** could come up with the assembler macro commands.
  1221. *** Note that you must store the value of TAG_SPACE only after all
  1222. *** the objects are created.  TAG_SPACE is incremented as object
  1223. *** creation macros are called and in the end holds the maximum
  1224. *** theoretical tagitem space usage in bytes.  You pass the pointer to
  1225. *** this memory (which you have yourself allocated) in the register MR.
  1226. *** You can =R MR to any of the registers a3, a4 or a5 (the macros
  1227. *** don't use these registers).
  1228. ***
  1229. *** All calls to xxxObject and xxxGroup _must_ be finished with an Endi
  1230. *** call.  The Endi macro actually calls the MUI_NewObjectA function
  1231. *** and places the result object to the taglist.
  1232. ***
  1233. *** The MUIT macro is just a handy way of moving mixed stuff to the
  1234. *** taglist.  Upto 9 items can be moved to the stack on one source line.
  1235. *** You can move _only constants_ with the MUIT macro, use the
  1236. *** MUIT2 macro to move more mixed stuff (pointers, registers).
  1237. *** Remember to use # to denote constants when using MUIT2.
  1238. *** The Endi macro is a special case for the MUIT and MUIT2 macros.
  1239. *** This is snooped out and every 'MUIT Endi' call is converted to
  1240. *** an Endi macro call.
  1241. ***
  1242. *** Also the very common calls 'MUIT Child', 'MUIT SubWindow' and
  1243. *** 'MUIT WindowContents' have their own macros Childi, SubWindowi
  1244. *** and WindowContentsi.  Childi macro can take upto five arguments.
  1245. *** There are three versions of Childi: Childi, Child2 and Child3.
  1246. *** Templates for these macros are:
  1247. *** Childi [macro[,argument1[,argument2[,argument3[,argument4]]]]]
  1248. *** Child2 [macro[,macro[,macro[,macro[,macro]]]]]
  1249. *** Child3 [macro[,macro[,argument1[,argument2[,argument3]]]]]
  1250. *** Arguments for Childi are interpreted as the first one being a
  1251. *** full macro name and the last four arguments for this macro.
  1252. *** Arguments for Child2 are treated as macros placed on their
  1253. *** own separate lines.  These macros can't have any arguments.
  1254. *** Arguments for Child3 are treated as two macros placed on their
  1255. *** own separate lines.  The last macro can have three arguments.
  1256. ***
  1257. *** The C example above with these assembler macros:
  1258. ***
  1259. ***   ApplicationObject
  1260. ***   
  1261. ***      ...
  1262. ***
  1263. *** SubWindowi
  1264. *** WindowObject
  1265. ***    WindowContentsi
  1266. ***    VGroup
  1267. ***        Childi String,foo,40
  1268. ***        Childi String,bar,50
  1269. ***        Childi HGroup
  1270. ***        Childi Checkmark,TRUE
  1271. ***        Childi Checkmark,FALSE
  1272. ***        Endi
  1273. ***    Endi
  1274. *** Endi
  1275. ***
  1276. ***      SubWindowi
  1277. ***      WindowObject
  1278. ***    WindowContentsi
  1279. ***    HGroup
  1280. ***       Childi
  1281. ***       ...
  1282. ***       Childi
  1283. ***       ...
  1284. ***       Endi
  1285. ***    Endi
  1286. ***
  1287. ***      ...
  1288. ***    
  1289. ***      Endi
  1290. ***      is app
  1291. ***
  1292. ***   app   dc.l  0
  1293. ***   bar   dc.b  "bar",0
  1294. ***   foo   dc.b  "foo",0
  1295. ***
  1296. ****************************************************************************
  1297.  
  1298. *** TAG_SPACE will hold the max taglist size in bytes
  1299.  
  1300. TAG_SPACE SET 0
  1301.  
  1302. *** Macros to move a tagitem to the taglist if it is given
  1303.  
  1304. cmv    MACRO
  1305.     IFNC    '\1',''
  1306.     IFC    '\1','Endi'
  1307.     Endi
  1308.     ELSE
  1309.     move.l    #\1,(MR)+
  1310. TAG_SPACE SET TAG_SPACE+4
  1311.     ENDC
  1312.     ENDC
  1313.     ENDM
  1314.  
  1315. cmv2    MACRO
  1316.     IFNC    '\1',''
  1317.     IFC    '\1','Endi'
  1318.     Endi
  1319.     ELSE
  1320.     move.l    \1,(MR)+
  1321. TAG_SPACE SET TAG_SPACE+4
  1322.     ENDC
  1323.     ENDC
  1324.     ENDM
  1325.  
  1326. *** Macro to move a tagitem to stack if it is given
  1327.  
  1328. cmv3    MACRO
  1329.     IFNC    '\1',''
  1330.     move.l    \1,-(sp)
  1331.     ENDC
  1332.     ENDM
  1333.  
  1334. cmv4    MACRO
  1335.     IFNC    '\1',''
  1336.     move.l    #\1,-(sp)
  1337.     ENDC
  1338.     ENDM
  1339.  
  1340. *** Macros to move max 9 tagitems to the taglist
  1341.  
  1342. MUIT    MACRO
  1343.     cmv    \1
  1344.     cmv    \2
  1345.     cmv    \3
  1346.     cmv    \4
  1347.     cmv    \5
  1348.     cmv    \6
  1349.     cmv    \7
  1350.     cmv    \8
  1351.     cmv    \9
  1352.      ENDM
  1353.  
  1354. MUIT2    MACRO
  1355.     cmv2    \1
  1356.     cmv2    \2
  1357.     cmv2    \3
  1358.     cmv2    \4
  1359.     cmv2    \5
  1360.     cmv2    \6
  1361.     cmv2    \7
  1362.     cmv2    \8
  1363.     cmv2    \9
  1364.     ENDM
  1365.  
  1366. MakeObj MACRO
  1367.     move.l    a7,a2
  1368.     clr.l    -(a7)
  1369.     cmv4    \4
  1370.     cmv4    \3
  1371.     cmv4    \2
  1372.     cmv4    \1
  1373.     move.l    a7,a0
  1374.     CALLMUI    MUI_MakeObjectA
  1375.     move.l    a2,a7
  1376.     movem.l    (a7)+,a0/a2
  1377.     ENDM
  1378.  
  1379. *** DoMethod macro for easier assembler DoMethod'ing, max 20 tagitems.
  1380. *** Note that _DoMethod is defined in amiga.lib, so you must link
  1381. *** your own object code with it.
  1382. *** Warning ASM-One can only use 9 Args !!!
  1383.  
  1384. DoMethod MACRO
  1385.     movem.l    a0/a2,-(sp)
  1386.     move.l    sp,a2
  1387.     clr.l    -(sp)
  1388.     cmv3    \9
  1389.     cmv3    \8
  1390.     cmv3    \7
  1391.     cmv3    \6
  1392.     cmv3    \5
  1393.     cmv3    \4
  1394.     cmv3    \3
  1395.     cmv3    \2
  1396.     cmv3    \1
  1397.     jsr    _DoMethod
  1398.     move.l    a2,sp
  1399.     movem.l    (sp)+,a0/a2
  1400.     ENDM
  1401.  
  1402. *** MUI_Request macro for easier assembler MUI_Request'ing, max
  1403. *** 20 tagitems.
  1404.  
  1405. MUI_Request MACRO
  1406.     movem.l    a0-a4,-(sp)
  1407.     move.l    sp,a4
  1408.     cmv3    \L
  1409.     cmv3    \K
  1410.     cmv3    \J
  1411.     cmv3    \I
  1412.     cmv3    \H
  1413.     cmv3    \G
  1414.     cmv3    \F
  1415.     cmv3    \E
  1416.     cmv3    \D
  1417.     cmv3    \C
  1418.     cmv3    \B
  1419.     cmv3    \A
  1420.     cmv3    \9
  1421.     cmv3    \8
  1422.     cmv3    \7
  1423.     move.l    a4,a3
  1424.     move.l    #\6,a2
  1425.     move.l    #\5,a1
  1426.     move.l    #\4,a0
  1427.     move.l    #\3,d2
  1428.     move.l    \2,d1
  1429.     move.l    \1,d0
  1430.     CALLMUI    MUI_RequestA
  1431.     move.l    a4,sp
  1432.     movem.l    (sp)+,a0-a4
  1433.     ENDM
  1434.  
  1435. *** Macro for getting a pointer to an object you just created.
  1436. *** This is valid only after an Endi macro.
  1437.  
  1438. is    MACRO
  1439.     move.l    d0,\1
  1440.     ENDM
  1441.  
  1442. Endi    MACRO
  1443.     clr.l    (MR)+
  1444.     move.l    a2,a1
  1445.     CALLMUI    MUI_NewObjectA
  1446.     move.l    a2,a4
  1447.     movem.l    (sp)+,a0/a2
  1448.     cmv2    d0
  1449.     ENDM
  1450.  
  1451. MenustripObject MACRO
  1452.     movem.l    a0/a2,-(sp)
  1453.     move.l    MUIC_Menustrip,a0
  1454.     move.l    a4,a2
  1455.     ENDM
  1456. MenuObject MACRO
  1457.     movem.l    a0/a2,-(sp)
  1458.     move.l    MUIC_Menu,a0
  1459.     move.l    a4,a2
  1460.     ENDM
  1461. MenuObjectT MACRO
  1462.     movem.l    a0/a2,-(sp)
  1463.     move.l    MUIC_Menu,a0
  1464.     move.l    a4,a2
  1465.     MUIT    MUIA_Menu_Title,\1
  1466.     ENDM
  1467. MenuitemObject MACRO
  1468.     movem.l    a0/a2,-(sp)
  1469.     move.l    MUIC_Menuitem,a0
  1470.     move.l    a4,a2
  1471.     ENDM
  1472. WindowObject MACRO
  1473.     movem.l    a0/a2,-(sp)
  1474.     move.l    MUIC_Window,a0
  1475.     move.l    a4,a2
  1476.     ENDM
  1477. ImageObject MACRO
  1478.     movem.l    a0/a2,-(sp)
  1479.     move.l    MUIC_Image,a0
  1480.     move.l    a4,a2
  1481.     ENDM
  1482. BitmapObject MACRO
  1483.     movem.l    a0/a2,-(sp)
  1484.     move.l    MUIC_Bitmap,a0
  1485.     move.l    a4,a2
  1486.     ENDM
  1487. BodychunkObject MACRO
  1488.     movem.l    a0/a2,-(sp)
  1489.     move.l    MUIC_Bodychunk,a0
  1490.     move.l    a4,a2
  1491.     ENDM
  1492. NotifyObject MACRO
  1493.     movem.l    a0/a2,-(sp)
  1494.     move.l    MUIC_Notify,a0
  1495.     move.l    a4,a2
  1496.     ENDM
  1497. ApplicationObject MACRO
  1498.     movem.l    a0/a2,-(sp)
  1499.     move.l    MUIC_Application,a0
  1500.     move.l    a4,a2
  1501.     ENDM
  1502. TextObject MACRO
  1503.     movem.l    a0/a2,-(sp)
  1504.     move.l    MUIC_Text,a0
  1505.     move.l    a4,a2
  1506.     ENDM
  1507. RectangleObject MACRO
  1508.     movem.l    a0/a2,-(sp)
  1509.     move.l    MUIC_Rectangle,a0
  1510.     move.l    a4,a2
  1511.     ENDM
  1512. ListObject MACRO
  1513.     movem.l    a0/a2,-(sp)
  1514.     move.l    MUIC_List,a0
  1515.     move.l    a4,a2
  1516.     ENDM
  1517. PropObject MACRO
  1518.     movem.l    a0/a2,-(sp)
  1519.     move.l    MUIC_Prop,a0
  1520.     move.l    a4,a2
  1521.     ENDM
  1522. StringObject MACRO
  1523.     movem.l    a0/a2,-(sp)
  1524.     move.l    MUIC_String,a0
  1525.     move.l    a4,a2
  1526.     ENDM
  1527. ScrollbarObject MACRO
  1528.     movem.l    a0/a2,-(sp)
  1529.     move.l    MUIC_Scrollbar,a0
  1530.     move.l    a4,a2
  1531.     ENDM
  1532. ListviewObject MACRO
  1533.     movem.l    a0/a2,-(sp)
  1534.     move.l    MUIC_Listview,a0
  1535.     move.l    a4,a2
  1536.     ENDM
  1537. RadioObject MACRO
  1538.     movem.l    a0/a2,-(sp)
  1539.     move.l    MUIC_Radio,a0
  1540.     move.l    a4,a2
  1541.     ENDM
  1542. VolumelistObject MACRO
  1543.     movem.l    a0/a2,-(sp)
  1544.     move.l    MUIC_Volumelist,a0
  1545.     move.l    a4,a2
  1546.     ENDM
  1547. FloattextObject MACRO
  1548.     movem.l    a0/a2,-(sp)
  1549.     move.l    MUIC_Floattext,a0
  1550.     move.l    a4,a2
  1551.     ENDM
  1552. DirlistObject MACRO
  1553.     movem.l    a0/a2,-(sp)
  1554.     move.l    MUIC_Dirlist,a0
  1555.     move.l    a4,a2
  1556.     ENDM
  1557. SliderObject MACRO
  1558.     movem.l    a0/a2,-(sp)
  1559.     move.l    MUIC_Slider,a0
  1560.     move.l    a4,a2
  1561.     ENDM
  1562. CycleObject MACRO
  1563.     movem.l    a0/a2,-(sp)
  1564.     move.l    MUIC_Cycle,a0
  1565.     move.l    a4,a2
  1566.     ENDM
  1567. GaugeObject MACRO
  1568.     movem.l    a0/a2,-(sp)
  1569.     move.l    MUIC_Gauge,a0
  1570.     move.l    a4,a2
  1571.     ENDM
  1572. ScaleObject MACRO
  1573.     movem.l    a0/a2,-(sp)
  1574.     move.l    MUIC_Scale,a0
  1575.     move.l    a4,a2
  1576.     ENDM
  1577. BoopsiObject MACRO
  1578.     movem.l    a0/a2,-(sp)
  1579.     move.l    MUIC_Boopsi,a0
  1580.     move.l    a4,a2
  1581.     ENDM
  1582. ColorfieldObject MACRO
  1583.     movem.l    a0/a2,-(sp)
  1584.     move.l    MUIC_Colorfield,a0
  1585.     move.l    a4,a2
  1586.     ENDM
  1587. ColorpanelObject MACRO
  1588.     movem.l    a0/a2,-(sp)
  1589.     move.l    MUIC_Colorpanel,a0
  1590.     move.l    a4,a2
  1591.     ENDM
  1592. ColoradjustObject MACRO
  1593.     movem.l    a0/a2,-(sp)
  1594.     move.l    MUIC_Colorfield,a0
  1595.     move.l    a4,a2
  1596.     ENDM
  1597. PaletteObject MACRO
  1598.     movem.l    a0/a2,-(sp)
  1599.     move.l    MUIC_Palette,a0
  1600.     move.l    a4,a2
  1601.     ENDM
  1602. GroupObject MACRO
  1603.     movem.l    a0/a2,-(sp)
  1604.     move.l    MUIC_Group,a0
  1605.     move.l    a4,a2
  1606.     ENDM
  1607. RegisterObject MACRO
  1608.     movem.l    a0/a2,-(sp)
  1609.     move.l    MUIC_Register,a0
  1610.     move.l    a4,a2
  1611.     ENDM
  1612. VirtgroupObject MACRO
  1613.     movem.l    a0/a2,-(sp)
  1614.     move.l    MUIC_Virtgroup,a0
  1615.     move.l    a4,a2
  1616.     ENDM
  1617. ScrollgroupObject MACRO
  1618.     movem.l    a0/a2,-(sp)
  1619.     move.l    MUIC_Scrollgroup,a0
  1620.     move.l    a4,a2
  1621.     ENDM
  1622. PopstringObject MACRO
  1623.     movem.l    a0/a2,-(sp)
  1624.     move.l    MUIC_Popstring,a0
  1625.     move.l    a4,a2
  1626.     ENDM
  1627. PopobjectObject MACRO
  1628.     movem.l    a0/a2,-(sp)
  1629.     move.l    MUIC_Popobject,a0
  1630.     move.l    a4,a2
  1631.     ENDM
  1632. PoplistObject MACRO
  1633.     movem.l    a0/a2,-(sp)
  1634.     move.l    MUIC_Poplist,a0
  1635.     move.l    a4,a2
  1636.     ENDM
  1637. PopaslObject MACRO
  1638.     movem.l    a0/a2,-(sp)
  1639.     move.l    MUIC_Popasl,a0
  1640.     move.l    a4,a2
  1641.     ENDM
  1642. Scrmodelistobject MACRO
  1643.     movem.l    a0/a2,-(sp)
  1644.     move.l    MUIC_Scrmodelist,a0
  1645.     move.l    a4,a2
  1646.     ENDM
  1647. VGroup    MACRO
  1648.     movem.l    a0/a2,-(sp)
  1649.     move.l    MUIC_Group,a0
  1650.     move.l    a4,a2
  1651.     ENDM
  1652. HGroup    MACRO
  1653.     movem.l    a0/a2,-(sp)
  1654.     move.l    MUIC_Group,a0
  1655.     move.l    a4,a2
  1656.     MUIT    MUIA_Group_Horiz,TRUE
  1657.     ENDM
  1658. ColGroup MACRO
  1659.     movem.l    a0/a2,-(sp)
  1660.     move.l    MUIC_Group,a0
  1661.     move.l    a4,a2
  1662.     MUIT    MUIA_Group_Columns,\1
  1663.     ENDM
  1664. RowGroup MACRO
  1665.     movem.l    a0/a2,-(sp)
  1666.     move.l    MUIC_Group,a0
  1667.     move.l    a4,a2
  1668.     MUIT    MUIA_Group_Rows,\1
  1669.     ENDM
  1670. PageGroup MACRO
  1671.     movem.l    a0/a2,-(sp)
  1672.     move.l    MUIC_Group,a0
  1673.     move.l    a4,a2
  1674.     MUIT    MUIA_Group_PageMode,TRUE
  1675.     ENDM
  1676. VGroupV    MACRO
  1677.     movem.l    a0/a2,-(sp)
  1678.     move.l    MUIC_Virtgroup,a0
  1679.     move.l    a4,a2
  1680.     ENDM
  1681. HGroupV    MACRO
  1682.     movem.l    a0/a2,-(sp)
  1683.     move.l    MUIC_Virtgroup,a0
  1684.     move.l    a4,a2
  1685.     MUIT    MUIA_Group_Horiz,TRUE
  1686.     ENDM
  1687. ColGroupV MACRO
  1688.     movem.l    a0/a2,-(sp)
  1689.     move.l    MUIC_Virtgroup,a0
  1690.     move.l    a4,a2
  1691.     MUIT    MUIA_Group_Columns,\1
  1692.     ENDM
  1693. RowGroupV MACRO
  1694.     movem.l    a0/a2,-(sp)
  1695.     move.l    MUIC_Virtgroup,a0
  1696.     move.l    a4,a2
  1697.     MUIT    MUIA_Group_Rows,\1
  1698.     ENDM
  1699. PageGroupV MACRO
  1700.     movem.l    a0/a2,-(sp)
  1701.     move.l    MUIC_Virtgroup,a0
  1702.     move.l    a4,a2
  1703.     MUIT    MUIA_Group_PageMode,TRUE
  1704.     ENDM
  1705. RegisterGroup MACRO
  1706.     movem.l    a0/a2,-(sp)
  1707.     move.l    MUIC_Register,a0
  1708.     move.l    a4,a2
  1709.     MUIT    MUIA_Register_Titles,\1
  1710.     ENDM
  1711.  
  1712. Childi    MACRO
  1713.     cmv    MUIA_Group_Child
  1714.     \1 \2,\3,\4,\5
  1715.     ENDM
  1716. Child2    MACRO
  1717.     cmv    MUIA_Group_Child
  1718.     \1
  1719.     \2
  1720.     \3
  1721.     \4
  1722.     \5
  1723.     ENDM
  1724. Child3    MACRO
  1725.     cmv    MUIA_Group_Child
  1726.     \1
  1727.     \2 \3,\4,\5
  1728.     ENDM
  1729. SubWindowi MACRO
  1730.     cmv    MUIA_Application_Window
  1731.     ENDM
  1732. WindowContentsi MACRO
  1733.     cmv    MUIA_Window_RootObject
  1734.     ENDM
  1735.  
  1736.  
  1737. Child        = MUIA_Group_Child
  1738. SubWindow    = MUIA_Application_Window
  1739. WindowContents    = MUIA_Window_RootObject
  1740.  
  1741.  
  1742.  
  1743. ****************************************************************************
  1744. **
  1745. ** Frame Types
  1746. ** -----------
  1747. **
  1748. ** These macros may be used to specify one of MUI's different frame types.
  1749. ** Note that every macro consists of one or more { ti_Tag, ti_Data }
  1750. ** pairs.
  1751. **
  1752. ** GroupFrameT() is a special kind of frame that contains a centered
  1753. ** title text.
  1754. **
  1755. ** HGroup, GroupFrameT("Horiz Groups"),
  1756. **    Child, RectangleObject, TextFrame  , End,
  1757. **    Child, RectangleObject, StringFrame, End,
  1758. **    Child, RectangleObject, ButtonFrame, End,
  1759. **    Child, RectangleObject, ListFrame  , End,
  1760. **    End,
  1761. **
  1762. ****************************************************************************
  1763.  
  1764. ****************************************************************************
  1765. ***
  1766. *** Assembler version of the above C example:
  1767. ***
  1768. *** HGroup
  1769. ***    GroupFrameT horizg
  1770. ***    Child2 RectangleObject,TextFrame,Endi
  1771. ***    Child2 RectangleObject,StringFrame,Endi
  1772. ***    Child2 RectangleObject,ButtonFrame,Endi
  1773. ***    Child2 RectangleObject,ListFrame,Endi
  1774. ***    Endi
  1775. ***
  1776. *** horizg  dc.b  "Horiz Groups",0
  1777. ***    even
  1778. ***
  1779. ****************************************************************************
  1780.  
  1781. *** These macros call MUIT themselves, do not use eg. 'MUIT NoFrame'
  1782.  
  1783. NoFrame    MACRO
  1784.     MUIT    MUIA_Frame,MUIV_Frame_None
  1785.     ENDM
  1786. ButtonFrame MACRO
  1787.     MUIT    MUIA_Frame,MUIV_Frame_Button
  1788.     ENDM
  1789. ImageButtonFrame MACRO
  1790.     MUIT    MUIA_Frame,MUIV_Frame_ImageButton
  1791.     ENDM
  1792. TextFrame MACRO
  1793.     MUIT    MUIA_Frame,MUIV_Frame_Text
  1794.     ENDM
  1795. StringFrame MACRO
  1796.     MUIT    MUIA_Frame,MUIV_Frame_String
  1797.     ENDM
  1798. ReadListFrame MACRO
  1799.     MUIT    MUIA_Frame,MUIV_Frame_ReadList
  1800.     ENDM
  1801. InputListFrame MACRO
  1802.     MUIT    MUIA_Frame,MUIV_Frame_InputList
  1803.     ENDM
  1804. PropFrame MACRO
  1805.     MUIT    MUIA_Frame,MUIV_Frame_Prop
  1806.     ENDM
  1807. GaugeFrame MACRO
  1808.     MUIT    MUIA_Frame,MUIV_Frame_Gauge
  1809.     ENDM
  1810. GroupFrame MACRO
  1811.     MUIT    MUIA_Frame,MUIV_Frame_Group
  1812.     ENDM
  1813. GroupFrameT MACRO
  1814.     MUIT    MUIA_Frame,MUIV_Frame_Group,MUIA_Frame_Title,\1
  1815.     ENDM
  1816. VirtualFrame MACRO
  1817.     MUIT    MUIA_Frame,MUIV_Frame_Virtual
  1818.     ENDM
  1819.  
  1820.  
  1821. ****************************************************************************
  1822. **
  1823. ** Spacing Macros
  1824. ** --------------
  1825. **
  1826. ****************************************************************************
  1827.  
  1828. *** For these macros tagitem space is allocated from the stack and is
  1829. *** fixed in size.  So, there is no need for a separate Endi call.
  1830.  
  1831. HVSpace    MACRO
  1832.     move.l    a0,-(sp)
  1833.     move.l    MUIC_Rectangle,a0
  1834.     clr.l    -(sp)
  1835.     move.l    sp,a1
  1836.     CALLMUI    MUI_NewObjectA
  1837.     addq.l    #4,sp
  1838.     move.l    (sp)+,a0
  1839.     MUIT2    d0
  1840.     ENDM
  1841.    
  1842. HSpace    MACRO
  1843.     movem.l    a0/a2,-(a7)
  1844.     move.l    #MUIO_HSpace,d0
  1845.     MakeObj    \1,\2,\3,\4
  1846.     ENDM
  1847.  
  1848. VSpace    MACRO
  1849.     movem.l    a0/a2,-(a7)
  1850.     move.l    #MUIO_VSpace,d0
  1851.     MakeObj    \1,\2,\3,\4
  1852.     ENDM
  1853.  
  1854. HCenter    MACRO
  1855.     HGroup
  1856.     GroupSpacing    0
  1857.     Childi    HSpace,0
  1858.     Childi    MUIT2,\1
  1859.     Childi    HSpace,0
  1860.     Endi
  1861.     ENDM
  1862.  
  1863. VCenter    MACRO
  1864.     VGroup
  1865.     GroupSpacing    0
  1866.     Childi    VSpace,0
  1867.     Childi    MUIT2,\1
  1868.     Childi    VSpace,0
  1869.     Endi
  1870.     ENDM
  1871.  
  1872. InnerSpacing MACRO
  1873.     MUIT    MUIA_InnerLeft,\1,MUIA_InnerRight,\1,MUIA_InnerTop,\2,MUIA_InnerBottom,\2
  1874.     ENDM
  1875.  
  1876. GroupSpacing MACRO
  1877.     MUIT    MUIA_Group_Spacing,\1
  1878.     ENDM
  1879.  
  1880.  
  1881.  
  1882. ****************************************************************************
  1883. ***
  1884. *** You use these assembler macros like this:
  1885. ***
  1886. *** String mystr1,40
  1887. ***
  1888. *** CheckMark TRUE
  1889. ***
  1890. *** SimpleButton mysbut1
  1891. ***
  1892. *** KeyButton mykbut1,"c"
  1893. ***
  1894. *** Cycle myentr1
  1895. ***
  1896. *** KeyCycle myentr1,"k"
  1897. ***
  1898. *** Radio rname1,rbuts1
  1899. ***
  1900. *** String mystr1,35
  1901. *** is strobj1
  1902. *** Popup ST_Font,strobj1,MyHook,MUII_Popup
  1903. ***
  1904. ***
  1905. *** MyHook  rts   ; dummy hook, does nothing
  1906. *** mysrt1  dc.b  "String contents",0
  1907. ***    even
  1908. *** mysbut1 dc.b  "Button",0
  1909. ***    even
  1910. *** mykbut1 dc.b  "Cancel",0
  1911. ***    even
  1912. *** myentr1 dc.l  entrs1,entrs2,entrs3,NULL
  1913. *** entrs1  dc.b  "One",0
  1914. *** entrs2  dc.b  "Two",0
  1915. *** entrs3  dc.b  "Three",0
  1916. ***    even
  1917. *** rname1  dc.b  "Radio Buttons:",0
  1918. ***    even
  1919. *** rbuts1  dc.l  rbut1,rbut2,rbut3,NULL
  1920. *** rbut1   dc.b  "Button1",0
  1921. ***    even
  1922. *** rbut2   dc.b  "Button2",0
  1923. ***    even
  1924. *** rbut3   dc.b  "Button3",0
  1925. ***    even
  1926. *** strobj  dc.l  0
  1927. *** ST_Font dc.l  0
  1928. ***
  1929. ***
  1930. ****************************************************************************
  1931.  
  1932. ****************************************************************************
  1933. **
  1934. ** String-Object
  1935. ** -------------
  1936. **
  1937. ** The following macro creates a simple string gadget.
  1938. **
  1939. ****************************************************************************
  1940.  
  1941. String    MACRO
  1942.     StringObject
  1943.     StringFrame
  1944.     MUIT    MUIA_String_MaxLen,\2
  1945.     MUIT    MUIA_String_Contents,\1
  1946.     Endi
  1947.     ENDM
  1948.  
  1949. KeyString MACRO
  1950.     StringObject
  1951.     StringFrame
  1952.     MUIT    MUIA_ControlChar,\3
  1953.     MUIT    MUIA_String_MaxLen,\2
  1954.     MUIT    MUIA_String_Contents,\1
  1955.     Endi
  1956.     ENDM
  1957.  
  1958. ****************************************************************************
  1959. **
  1960. ** CheckMark-Object
  1961. ** ----------------
  1962. **
  1963. ** The following macro creates a checkmark gadget.
  1964. **
  1965. ****************************************************************************
  1966.  
  1967. CheckMark MACRO
  1968.     ImageObject
  1969.     ImageButtonFrame
  1970.     MUIT    MUIA_InputMode,MUIV_InputMode_Toggle
  1971.     MUIT    MUIA_Image_Spec,MUII_CheckMark
  1972.     MUIT    MUIA_Image_FreeVert,TRUE
  1973.     MUIT    MUIA_Selected,\1
  1974.     MUIT    MUIA_Background,MUII_ButtonBack
  1975.     MUIT    MUIA_ShowSelState,FALSE
  1976.     Endi
  1977.     ENDM
  1978.  
  1979. KeyCheckMark MACRO
  1980.     ImageObject
  1981.     ImageButtonFrame
  1982.     MUIT    MUIA_InputMode,MUIV_InputMode_Toggle
  1983.     MUIT    MUIA_Image_Spec,MUII_CheckMark
  1984.     MUIT    MUIA_Image_FreeVert,TRUE
  1985.     MUIT    MUIA_Selected,\1
  1986.     MUIT    MUIA_Background,MUII_ButtonBack
  1987.     MUIT    MUIA_ShowSelState,FALSE
  1988.     MUIT    MUIA_ControlChar,\2
  1989.     Endi
  1990.     ENDM
  1991.  
  1992.  
  1993. ****************************************************************************
  1994. **
  1995. ** Button-Objects
  1996. ** --------------
  1997. **
  1998. ** Note: Use small letters for KeyButtons, e.g.
  1999. **       KeyButton("Cancel",'c')  and not  KeyButton("Cancel",'C') !!
  2000. **
  2001. ****************************************************************************
  2002.  
  2003. SimpleButton MACRO
  2004.     movem.l    a0/a2,-(a7)
  2005.     move.l    #MUIO_Button,d0
  2006.     MakeObj    \1,\2,\3,\4
  2007.     ENDM
  2008.  
  2009. KeyButton MACRO
  2010.     TextObject
  2011.     ButtonFrame
  2012.     MUIT    MUIA_Text_Contents,\1
  2013.     MUIT    MUIA_Text_PreParse,PreParse
  2014.     MUIT    MUIA_Text_SetMax,FALSE
  2015.     MUIT    MUIA_Text_HiChar,\2
  2016.     MUIT    MUIA_ControlChar,\2
  2017.     MUIT    MUIA_InputMode,MUIV_InputMode_RelVerify
  2018.     MUIT    MUIA_Background,MUII_ButtonBack
  2019.     Endi
  2020.     ENDM
  2021.  
  2022.  
  2023.  
  2024. ****************************************************************************
  2025. **
  2026. ** Cycle-Object
  2027. ** ------------
  2028. **
  2029. ****************************************************************************
  2030.  
  2031. Cycle    MACRO
  2032.     CycleObject
  2033.     MUIT    MUIA_Cycle_Entries,\1
  2034.     Endi
  2035.     ENDM
  2036.  
  2037. KeyCycle MACRO
  2038.     CycleObject
  2039.     MUIT    MUIA_Cycle_Entries,\1,MUIA_ControlChar,\2
  2040.     Endi
  2041.     ENDM
  2042.  
  2043.  
  2044.  
  2045. ****************************************************************************
  2046. **
  2047. ** Popup-Object
  2048. ** ------------
  2049. **
  2050. ** An often needed GUI element is a string gadget with a little button
  2051. ** that opens up a (small) window with a list containing possible entries
  2052. ** for this gadget. Together with the Popup and the String macro,
  2053. ** such a thing would look like
  2054. **
  2055. ** VGroup,
  2056. **    Child, Popup(ST_Font, String("helvetica/13",32), &Hook, MUII_Popup),
  2057. **    ...,
  2058. **
  2059. ** ST_Font will hold a pointer to the embedded string gadget and can
  2060. ** be used to set and get its contents as with every other string object.
  2061. **
  2062. ** The hook will be called with the string gadget as object whenever
  2063. ** the user releases the popup button and could look like this:
  2064. **
  2065. ** ULONG __asm __saveds HookFunc(register __a2 APTR obj,MUII_File)
  2066. ** {
  2067. **    ...
  2068. **
  2069. **    // put our application to sleep while displaying the requester
  2070. **    set(Application,MUIA_Application_Sleep,TRUE);
  2071. **
  2072. **    // get the calling objects window and position
  2073. **    get(obj,MUIA_Window  ,&window);
  2074. **    get(obj,MUIA_LeftEdge,&l);
  2075. **    get(obj,MUIA_TopEdge ,&t);
  2076. **    get(obj,MUIA_Width   ,&w);
  2077. **    get(obj,MUIA_Height  ,&h);
  2078. **
  2079. **    if (req=MUI_AllocAslRequestTags(ASL_FontRequest,TAG_DONE))
  2080. **    {
  2081. **       if (MUI_AslRequestTags(req,
  2082. **     ASLFO_Window    ,window,
  2083. **     ASLFO_PrivateIDCMP   ,TRUE,
  2084. **     ASLFO_TitleText      ,"Select Font",
  2085. **     ASLFO_InitialLeftEdge,window->LeftEdge + l,
  2086. **     ASLFO_InitialTopEdge ,window->TopEdge  + t+h,
  2087. **     ASLFO_InitialWidth   ,w,
  2088. **     ASLFO_InitialHeight  ,250,
  2089. **     TAG_DONE))
  2090. **       {
  2091. **     // set the new contents for our string gadget
  2092. **     set(obj,MUIA_String_Contents,req->fo_Attr.ta_Name);
  2093. **       }
  2094. **       MUI_FreeAslRequest(req);
  2095. **    }
  2096. **
  2097. **    // wake up our application again
  2098. **    set(Application,MUIA_Application_Sleep,FALSE);
  2099. **
  2100. **    return(0);
  2101. ** }
  2102. **
  2103. ** Note: This macro needs a "APTR dummy;" declaration somewhere in your
  2104. **       code to work.
  2105. **
  2106. ****************************************************************************
  2107.  
  2108. PopButton MACRO
  2109.     movem.l    a0/a2,-(a7)
  2110.     move.l    #MUIO_PopButton,d0
  2111.     MakeObj    \1,\2,\3,\4
  2112.     ENDM
  2113.  
  2114.  
  2115. ****************************************************************************
  2116. **
  2117. ** Labeling Objects
  2118. ** ----------------
  2119. **
  2120. ** Labeling objects, e.g. a group of string gadgets,
  2121. **
  2122. **   Small: |foo   |
  2123. **  Normal: |bar   |
  2124. **     Big: |foobar|
  2125. **    Huge: |barfoo|
  2126. **
  2127. ** is done using a 2 column group:
  2128. **
  2129. ** ColGroup(2),
  2130. **    Child, Label2("Small:" ),
  2131. **    Child, StringObject, End,
  2132. **    Child, Label2("Normal:"),
  2133. **    Child, StringObject, End,
  2134. **    Child, Label2("Big:"   ),
  2135. **    Child, StringObject, End,
  2136. **    Child, Label2("Huge:"  ),
  2137. **    Child, StringObject, End,
  2138. **    End,
  2139. **
  2140. ** Note that we have three versions of the label macro, depending on
  2141. ** the frame type of the right hand object:
  2142. **
  2143. ** Label1(): For use with standard frames (e.g. checkmarks).
  2144. ** Label2(): For use with double high frames (e.g. string gadgets).
  2145. ** Label() : For use with objects without a frame.
  2146. **
  2147. ** These macros ensure that your label will look fine even if the
  2148. ** user of your application configured some strange spacing values.
  2149. ** If you want to use your own labeling, you'll have to pay attention
  2150. ** on this topic yourself.
  2151. **
  2152. ****************************************************************************
  2153.  
  2154. ****************************************************************************
  2155. ***
  2156. *** And the above C example in assembler:
  2157. ***
  2158. *** ColGroup 2
  2159. ***   Childi Label2,small
  2160. ***   Child2 StringObject,Endi
  2161. ***   Childi Label2,normal
  2162. ***   Child2 StringObject,Endi
  2163. ***   Childi Label2,big
  2164. ***   Child2 StringObject,Endi
  2165. ***   Childi Label2,huge
  2166. ***   Child2 StringObject,Endi
  2167. ***   Endi
  2168. ***
  2169. *** small   dc.b  "Small:",0
  2170. ***    even
  2171. *** normal  dc.b  "Normal:",0
  2172. ***    even
  2173. *** big     dc.b  "Big:",0
  2174. ***    even
  2175. *** huge    dc.b  "Huge:",0
  2176. ***    even
  2177. ***
  2178. ****************************************************************************
  2179.  
  2180.  
  2181.  
  2182. Label    MACRO
  2183.     TextObject
  2184.     MUIT    MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
  2185.     MUIT    MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
  2186.     Endi
  2187.     ENDM
  2188.  
  2189. Label1    MACRO
  2190.     TextObject
  2191.     MUIT    MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
  2192.     MUIT    MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
  2193.     ButtonFrame
  2194.     MUIT    MUIA_FramePhantomHoriz,TRUE
  2195.     Endi
  2196.     ENDM
  2197.  
  2198. Label2    MACRO
  2199.     TextObject
  2200.     MUIT    MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1,
  2201.     MUIT    MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
  2202.     StringFrame
  2203.     MUIT    MUIA_FramePhantomHoriz,TRUE
  2204.     Endi
  2205.     ENDM
  2206.  
  2207. KeyLabel MACRO
  2208.     TextObject
  2209.     MUIT    MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
  2210.     MUIT    MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0,
  2211.     MUIT    MUIA_Text_HiChar,\2
  2212.     Endi
  2213.     ENDM
  2214.  
  2215. KeyLabel1 MACRO
  2216.     TextObject
  2217.     MUIT    MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
  2218.     MUIT    MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
  2219.     MUIT    MUIA_Text_HiChar,\2
  2220.     ButtonFrame
  2221.     MUIT    MUIA_FramePhantomHoriz,TRUE
  2222.     Endi
  2223.     ENDM
  2224.  
  2225. KeyLabel2 MACRO
  2226.     TextObject
  2227.     MUIT    MUIA_Text_PreParse,PreParse2,MUIA_Text_Contents,\1
  2228.     MUIT    MUIA_Weight,0,MUIA_InnerLeft,0,MUIA_InnerRight,0
  2229.     MUIT    MUIA_Text_HiChar,\2
  2230.     StringFrame
  2231.     MUIT    MUIA_FramePhantomHoriz,TRUE
  2232.     Endi
  2233.     ENDM
  2234.  
  2235. ***************************************************************************
  2236. **
  2237. ** Radio-Object
  2238. ** ------------
  2239. **
  2240. ***************************************************************************
  2241.  
  2242. Radio    MACRO
  2243.     RadioObject
  2244.     GroupFrameT    \1
  2245.     MUIT    MUIA_Radio_Entries,\2
  2246.     Endi
  2247.     ENDM
  2248.  
  2249. KeyRadio MACRO
  2250.     RadioObject
  2251.     GroupFrameT    \1
  2252.     MUIT    MUIA_Radio_Entries,\2
  2253.     MUIT    MUIA_ControlChar,\3
  2254.     Endi
  2255.     ENDM    
  2256.  
  2257.  
  2258.  
  2259. ***************************************************************************
  2260. **
  2261. ** Slider-Object
  2262. ** -------------
  2263. **
  2264. ***************************************************************************
  2265.  
  2266.  
  2267. Slider    MACRO
  2268.     SliderObject
  2269.     MUIT    MUIA_Slider_Min,\1
  2270.     MUIT    MUIA_Slider_Max,\2
  2271.     MUIT    MUIA_Slider_Level,\3
  2272.     Endi
  2273.     ENDM   
  2274.  
  2275. KeySlider MACRO
  2276.     SliderObject
  2277.     MUIT    MUIA_Slider_Min, \1
  2278.     MUIT    MUIA_Slider_Max, \2
  2279.     MUIT    MUIA_Slider_Level, \3
  2280.     MUIT    MUIA_ControlChar, \4
  2281.     Endi
  2282.     ENDM
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  
  2288. ****************************************************************************
  2289. **
  2290. ** Controlling Objects
  2291. ** -------------------
  2292. **
  2293. ** set() and get() are two short stubs for BOOPSI GetAttr() and SetAttrs()
  2294. ** calls:
  2295. **
  2296. ** {
  2297. **    char *x;
  2298. **
  2299. **    set(obj,MUIA_String_Contents,"foobar");
  2300. **    get(obj,MUIA_String_Contents,&x);
  2301. **
  2302. **    printf("gadget contains '%s'\n",x);
  2303. ** }
  2304. **
  2305. ****************************************************************************
  2306.  
  2307. ****************************************************************************
  2308. ***
  2309. *** And the above C example in assembler:
  2310. ***
  2311. *** seti obj,#MUIA_String_Contents,#foobar
  2312. *** geti obj,#MUIA_String_Contents,#x
  2313. ***   move.l   #myfmt,d1
  2314. ***   move.l   #data,d2
  2315. ***   CALLDOS VPrintf
  2316. ***
  2317. *** foobar     dc.b  "foobar",0
  2318. ***       even
  2319. *** data       dc.l  x
  2320. *** x     dcb.b 10
  2321. *** myfmt      dc.b  "gadget contains '%s'",10,0
  2322. ***       even
  2323. ***
  2324. *** The names of the set and get macros have been changed to seti and geti
  2325. *** since most assemblers already have the pseudo op-code SET.
  2326. *** Note that seti is designed to take multiple tagitems (max 8).
  2327. ***
  2328. ****************************************************************************
  2329.  
  2330. geti    MACRO
  2331.     move.l    \2,d0
  2332.     move.l    \1,a0
  2333.     move.l    \3,a1
  2334.     CALLINT    GetAttr
  2335.     ENDM
  2336. seti    MACRO
  2337.     move.l    sp,a2
  2338.     cmv3    #0
  2339.     cmv3    \9
  2340.     cmv3    \8
  2341.     cmv3    \7
  2342.     cmv3    \6
  2343.     cmv3    \5
  2344.     cmv3    \4
  2345.     cmv3    \3
  2346.     cmv3    \2
  2347.     move.l    \1,a0
  2348.     move.l    sp,a1
  2349.     move.l    intbase,a6
  2350.     jsr    -648(a6)
  2351.     move.l    a2,sp
  2352.     ENDM
  2353.  
  2354. ;      CALLINT SetAttrsA
  2355.  
  2356. setmutex MACRO
  2357.     seti    \1,#MUIA_Radio_Active,\2
  2358.     ENDM
  2359. setcycle MACRO
  2360.     seti    \1,#MUIA_Cycle_Active,\2
  2361.     ENDM
  2362. setstring MACRO
  2363.     seti    \1,#MUIA_String_Contents,\2
  2364.     ENDM
  2365. setcheckmark MACRO
  2366.     seti    \1,#MUIA_Selected,\2
  2367.     ENDM
  2368. setslider MACRO
  2369.     ENDM
  2370.  
  2371.  
  2372.    ENDC  ;MUI_NOSHORTCUTS
  2373.  
  2374.  
  2375. * End of Include file, for using MUI from an application program. The rest
  2376. * of this is for custom class implementors only
  2377. *
  2378. *****************************************************************************
  2379. *****************************************************************************
  2380. *****************************************************************************
  2381.  
  2382. ****************************************************************************
  2383. **
  2384. ** For Boopsi Image Implementors Only:
  2385. **
  2386. ** If MUI is using a boopsi image object, it will send a special method
  2387. ** immediately after object creation. This method has a parameter structure
  2388. ** where the boopsi can fill in its minimum and maximum size and learn if
  2389. ** its used in a horizontal or vertical context.
  2390. **
  2391. ** The boopsi image must use the method id (MUIM_BoopsiQuery) as return
  2392. ** value. That's how MUI sees that the method is implemented.
  2393. **
  2394. ** Note: MUI does not depend on this method. If the boopsi image doesn't
  2395. **       implement it, minimum size will be 0 and maximum size unlimited.
  2396. **
  2397. ***************************************************************************/
  2398.  
  2399. MUIM_BoopsiQuery    = $80427157 ;* this is send to the boopsi and *
  2400. MUI_BoopsiQuery        = $80427157 ;* this is send to the boopsi and *
  2401.                 ;* must be used as return value   *
  2402.  
  2403. * STRUCTURE MUI_BoopsiQuery,0         ;* parameter structure *
  2404.  
  2405. * LONG     mbq_MethodID        ;* always MUIM_BoopsiQuery */
  2406. * APTR     mbq_Screen          ;* obsolete, use mbq_RenderInfo */
  2407. * LONG     mbq_Flags;          ;* read only, see below */
  2408. * LONG     mbq_MinWidth        ;* write only, fill in min width  */
  2409. * LONG     mbq_MinHeight        ;* write only, fill in min height */
  2410. * LONG      mbq_MaxWidth        ;* write only, fill in max width  */
  2411. * LONG      mbq_MaxHeight       ;* write only, fill in max height */
  2412. * LONG      mbq_DefWidth        ;* write only, fill in def width  */
  2413. * LONG      mbq_DefHeight       ;* write only, fill in def height */
  2414. * APTR      mbq_RenderInfo        ;* read only, display context */
  2415.  
  2416. * LABEL MUI_BoopsiQuery_SIZEOF        ;* may grow in future ... */
  2417.  
  2418.  
  2419. MUIP_BoopsiQuery = MUI_BoopsiQuery  ;* old structure name *
  2420.  
  2421. MBQF_HORIZ = 1<<0         ;* object used in a horizontal *
  2422.                   ;* context (else vertical)     *
  2423.  
  2424. MBQ_MUI_MAXMAX = 10000         ;* use this for unlimited MaxWidth/Height *
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432. *************************************************************************
  2433. ** Structures and Macros for creating custom classes.
  2434. *************************************************************************
  2435.  
  2436.  
  2437. *
  2438. ** GENERAL NOTES:
  2439. **
  2440. ** - Everything described in this header file is only valid within
  2441. **   MUI classes. You may never use any of these things out of
  2442. **   a class, e.g. in a traditional MUI application.
  2443. **
  2444. ** - Except when otherwise stated, all structures are strictly read only.
  2445. *
  2446.  
  2447.  
  2448. * Global information for every object *
  2449.  
  2450. * STRUCTURE MUI_GlobalInfo,0
  2451.  
  2452. * LONG priv0
  2453. * APTR mgi_ApplicationObject
  2454.  
  2455.  * ... private data follows ... *
  2456.  
  2457.  
  2458.  
  2459.  
  2460. * Instance data of notify class *
  2461.  
  2462. * STRUCTURE MUI_NotifyData,0
  2463.  
  2464. * APTR mnd_GlobalInfo
  2465. * LONG mnd_UserData
  2466. * LONG priv1
  2467. * LONG priv2
  2468. * LONG priv3
  2469. * LONG priv4
  2470. * LONG priv5
  2471.  
  2472. *  LABEL MUI_NotifyData_SIZEOF
  2473.  
  2474.  
  2475. * MUI_MinMax structure holds information about minimum, maximum
  2476. * and default dimensions of an object. *
  2477.  
  2478. * STRUCTURE MUI_MinMax,0
  2479.  
  2480. * WORD MinWidth
  2481. * WORD MinHeight
  2482. * WORD MaxWidth
  2483. * WORD MaxHeight
  2484. * WORD DefWidth
  2485. * WORD DefHeight
  2486.  
  2487. * LABEL MUI_MinMax_SIZEOF
  2488.  
  2489.  
  2490. MUI_MAXMAX = 10000 * use this if a dimension is not limited. *
  2491.  
  2492.  
  2493. * (partial) instance data of area class *
  2494.  
  2495. * STRUCTURE MUI_AreaData,0
  2496.  
  2497. * APTR mad_RenderInfo    ;* RenderInfo for this object *
  2498. * ULONG priv6        ;
  2499. * APTR mad_Font        ;* Font *
  2500. * STRUCT mad_MinMax,MUI_MinMax_SIZEOF    ;* min/max/default sizes *
  2501. * STRUCT mad_Box,ibox_SIZEOF    ;* position and dimension *
  2502. * BYTE mad_addleft    ;* frame & innerspacing left offset *
  2503. * BYTE mad_addtop    ;* frame & innerspacing top offset  *
  2504. * BYTE mad_subwidth    ;* frame & innerspacing add. width  *
  2505. * BYTE mad_subheight    ;* frame & innerspacing add. height *
  2506. * LONG mad_Flags        ;* see definitions below *
  2507.  
  2508.         ;* ... private data follows ... *
  2509.  
  2510.  
  2511. * Definitions for mad_Flags, other flags are private *
  2512.  
  2513. MADF_DRAWOBJECT    =    1<<0   * completely redraw yourself *
  2514. MADF_DRAWUPDATE =    1<<1   * only update yourself *
  2515.  
  2516.  
  2517.  
  2518.  
  2519. * MUI's draw pens *
  2520.  
  2521. MPEN_SHINE    = 0
  2522. MPEN_HALFSHINE    = 1
  2523. MPEN_BACKGROUND    = 2
  2524. MPEN_HALFSHADOW    = 3
  2525. MPEN_SHADOW    = 4
  2526. MPEN_TEXT    = 5
  2527. MPEN_FILL    = 6
  2528. MPEN_ACTIVEOBJ    = 7
  2529. MPEN_COUNT    = 8
  2530.  
  2531.  
  2532. * Information on display environment *
  2533.  
  2534. * STRUCTURE MUI_RenderInfo,0
  2535.  
  2536. * APTR mri_WindowObject    ;* valid between MUIM_Setup/MUIM_Cleanup *
  2537. * APTR mri_Screen    ;* valid between MUIM_Setup/MUIM_Cleanup *
  2538. * APTR mri_DrawInfo    ;* valid between MUIM_Setup/MUIM_Cleanup *
  2539. * WORD mri_Pens        ;* valid between MUIM_Setup/MUIM_Cleanup *
  2540. * APTR mri_Window    ;* valid between MUIM_Show/MUIM_Hide *
  2541. * APTR mri_RastPort    ;* valid between MUIM_Show/MUIM_Hide *
  2542.  
  2543.         ;* ... private data follows ... *
  2544.  
  2545.  
  2546.  
  2547. * the following macros can be used to get pointers to an objects
  2548. *   GlobalInfo and RenderInfo structures. */
  2549. *
  2550. *NOTE: These have not been converted from the C header.
  2551. ;
  2552. ;struct __dummyXFC2__ {
  2553. ;
  2554. ; STRUCT MUI_NotifyData mnd;
  2555. ;    struct MUI_AreaData   mad;
  2556. ;};
  2557. ;
  2558. ;#define muiNotifyData(obj) (&(((struct __dummyXFC2__ *)(obj))->mnd))
  2559. ;#define muiAreaData(obj)   (&(((struct __dummyXFC2__ *)(obj))->mad))
  2560. ;
  2561. ;define muiGlobalInfo(obj) (((struct __dummyXFC2__ *)(obj))->mnd.mnd_GlobalInfo)
  2562. ;#define muiUserData(obj)   (((struct __dummyXFC2__ *)(obj))->mnd.mnd_UserData)
  2563. ;#define muiRenderInfo(obj) (((struct __dummyXFC2__ *)(obj))->mad.mad_RenderInfo)
  2564.  
  2565.  
  2566.  
  2567. * User configurable keyboard events coming with MUIM_HandleInput *
  2568.  
  2569.  
  2570. MUIKEY_RELEASE        = -2 * not a real key, faked when MUIKEY_PRESS is released *
  2571. MUIKEY_NONE        = -1
  2572. MUIKEY_PRESS        =  0
  2573. MUIKEY_TOGGLE        =  1
  2574. MUIKEY_UP        =  2
  2575. MUIKEY_DOWN        =  3
  2576. MUIKEY_PAGEUP        =  4
  2577. MUIKEY_PAGEDOWN        =  5
  2578. MUIKEY_TOP        =  6
  2579. MUIKEY_BOTTOM        =  7
  2580. MUIKEY_LEFT        =  8
  2581. MUIKEY_RIGHT        =  9
  2582. MUIKEY_WORDLEFT        = 10
  2583. MUIKEY_WORDRIGHT    = 11
  2584. MUIKEY_LINESTART    = 12
  2585. MUIKEY_LINEEND        = 13
  2586. MUIKEY_GADGET_NEXT    = 14
  2587. MUIKEY_GADGET_PREV    = 15
  2588. MUIKEY_GADGET_OFF    = 16
  2589. MUIKEY_WINDOW_CLOSE    = 17
  2590. MUIKEY_WINDOW_NEXT    = 18
  2591. MUIKEY_WINDOW_PREV    = 19
  2592. MUIKEY_HELP        = 20
  2593. MUIKEY_POPUP        = 21
  2594. MUIKEY_COUNT        = 22 * counter *
  2595.  
  2596.  
  2597. ********************************************************************
  2598. * Some useful shortcuts. define MUI_NOSHORTCUTS to get rid of them *
  2599.  
  2600. * I Have left the original C macros here, so you can see what they are
  2601. * for, but I have not converted them to assembler.
  2602. *
  2603. *
  2604.  
  2605. ;#define _app(obj)    (muiGlobalInfo(obj)->mgi_ApplicationObject)
  2606. ;#define _win(obj)    (muiRenderInfo(obj)->mri_WindowObject)
  2607. ;#define _dri(obj)    (muiRenderInfo(obj)->mri_DrawInfo)
  2608. ;#define _window(obj)      (muiRenderInfo(obj)->mri_Window)
  2609. ;#define _screen(obj)      (muiRenderInfo(obj)->mri_Screen)
  2610. ;#define _rp(obj)     (muiRenderInfo(obj)->mri_RastPort)
  2611. ;#define _left(obj)        (muiAreaData(obj)->mad_Box.Left)
  2612. ;#define _top(obj)    (muiAreaData(obj)->mad_Box.Top)
  2613. ;#define _width(obj)       (muiAreaData(obj)->mad_Box.Width)
  2614. ;#define _height(obj)      (muiAreaData(obj)->mad_Box.Height)
  2615. ;#define _right(obj)       (_left(obj)+_width(obj)-1)
  2616. ;#define _bottom(obj)      (_top(obj)+_height(obj)-1)
  2617. ;#define _addleft(obj)     (muiAreaData(obj)->mad_addleft  )
  2618. ;#define _addtop(obj)      (muiAreaData(obj)->mad_addtop   )
  2619. ;#define _subwidth(obj)    (muiAreaData(obj)->mad_subwidth )
  2620. ;#define _subheight(obj)   (muiAreaData(obj)->mad_subheight)
  2621. ;#define _mleft(obj)       (_left(obj)+_addleft(obj))
  2622. ;#define _mtop(obj)        (_top(obj)+_addtop(obj))
  2623. ;#define _mwidth(obj)      (_width(obj)-_subwidth(obj))
  2624. ;#define _mheight(obj)     (_height(obj)-_subheight(obj))
  2625. ;#define _mright(obj)      (_mleft(obj)+_mwidth(obj)-1)
  2626. ;#define _mbottom(obj)     (_mtop(obj)+_mheight(obj)-1)
  2627. ;#define _font(obj)        (muiAreaData(obj)->mad_Font)
  2628. ;#define _flags(obj)       (muiAreaData(obj)->mad_Flags)
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634. * MUI_CustomClass returned by MUI_CreateCustomClass() *
  2635.  
  2636. * STRUCTURE MUI_CustomClass,0
  2637.  
  2638. * APTR mcc_UserData    ;* use for whatever you want *
  2639.  
  2640. * APTR mcc_UtilityBase    ;* MUI has opened these libraries *
  2641. * APTR mcc_DOSBase    ;* for you automatically. You can *
  2642. * APTR mcc_GfxBase    ;* use them or decide to open     *
  2643. * APTR mcc_IntuitionBase    ;* your libraries yourself.       *
  2644.  
  2645. * APTR mcc_Super        ;* pointer to super class   *
  2646. * APTR mcc_Class        ;* pointer to the new class *
  2647.  
  2648.         ;* ... private data follows ... *
  2649.  
  2650. ****************************************************************************
  2651.  
  2652. *   ENDC  ;LIBRARIES_MUI_I
  2653.